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

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.

主站蜘蛛池模板: 南丰县| 大丰市| 阜平县| 行唐县| 惠来县| 横峰县| 曲周县| 宝山区| 旺苍县| 鄯善县| 葫芦岛市| 铜梁县| 芜湖县| 汉源县| 云南省| 桂阳县| 湘潭县| 佳木斯市| 襄城县| 镇平县| 洛川县| 惠安县| 彭山县| 双峰县| 南安市| 罗定市| 奈曼旗| 镇康县| 莒南县| 闽清县| 高安市| 梁平县| 泸溪县| 临夏县| 康保县| 上饶市| 沾益县| 屯昌县| 来凤县| 翁牛特旗| 乌什县|