官术网_书友最值得收藏!

Understanding performance

When you talk about performance with respect to the results of an application being developed, it is a word that means good results for the given expectations.

Without ping into the details of the meaning, it is clear that the keyword here is not the search for good results but the comparison between those results with a specific reference value. No static, relative, or ranged value can have any significance without some kind of a legend associated with it.

Diving into the meaning of the phrase good results for the given expectations, there is another hidden important key concept: the availability to measure, in technical terms, any given aspect of our application. Such terms must be numerically defined, such as a time, a size expressed in Bytes (or multiples), and so on.

In other words, performance is associated with all the measurable aspects of an application.

As software developers, we have to understand client needs. We cannot be simply code writers or technical enthusiasts.

Although we have to mine technical requisites between use cases and user expectations, we have to guide the client to give us useful information regarding their expectations. I know they do not know anything about software engineering, but it is up to us to let them learn at least the basics here. Sometimes, we have to mine requisites by ourselves, while other times we can try to get the client to use the right requisite formula with suggestions, questions, and indications.

Any requisite with no relative or absolute reference value exposed is invalid.

Subtle to define as not valid is any performance requisite with some generic numeric needs, without specifying any context or value legend. An example will be a request like a web page response time, without specifying the server load or page computational complexity.

Taking some time to reflect on what we just read, we found another aspect of the term performance, which is a technical value and may become a performance indicator only if it's compared to a valid expected range.

Let's evaluate another client need. A client asks for a web page to be able to respond in less than 1 second in a low load time window (less than 1,000 active users) or not more than 10 seconds with heavy load equal to or more than 10,000 active users.

Here, we do have a valid request against a value range and environment, but there is still something missing, such as a shared and documented test case, which acts as a reference to everyone working on the project.

An example on a valid client's need for performance requirement would be that a client asks for a web application to execute Test001 in less than one second with less than 1.000 active users online, or be able to execute the same test case in less than 10 seconds with no more than 10.000 active online users.

主站蜘蛛池模板: 冕宁县| 海伦市| 陵水| 夹江县| 贵州省| 平江县| 尚志市| 杭锦旗| 巩留县| 衡阳县| 凌源市| 南宫市| 博野县| 陆川县| 涡阳县| 宿迁市| 庄浪县| 肥西县| 聂拉木县| 长寿区| 溧阳市| 恭城| 梁平县| 阆中市| 安宁市| 安塞县| 乌拉特中旗| 临泽县| 微博| 海城市| 孟津县| 新化县| 隆回县| 休宁县| 瑞安市| 长岭县| 射阳县| 六安市| 银川市| 小金县| 嘉禾县|