Testing activity
uTesting is an integral component of the software process
uTesting is a critical element of software quality assurance
uTesting is an activity that must be carried out throughout the software development life cycle
What Should Be Tested?
Correctness
Utility
Performance
Robustness
Reliability
Correctness
The extent to which a program satisfies its specification and fulfills the customer’s mission objectives.
If input that satisfies the input specifications is provided and the product is given all the resources it needs, then the product is correct if the output satisfies the output specification.
If a product satisfies its specification, then this product is correct.
Questions:
Suppose a product has been tested successfully against a broad variety of test data. Does this mean that the product is acceptable?
UtilityUtility is the extent to which a user’s needs are met when a correct product is used under condition permitted by its specifications.
It focus on how easy the product is to use, whether the product performs useful functions, and whether the product is cost effective compared to competing products.
If the product is not cost effective, there is no point in buying it.
And unless the product is easy to use, it will not be used at all or it will be used incorrectly.
Therefore, when considering buying an existing product, the utility of the product should be tested first; and if the product fails on that score, testing should stop.
Performance
It is the extent to which the product meets its constraints with regard to response time or space requirements.
Performance is measured by processing speed, response time, resource consumption, throughput and efficiency.
Performance: For example, a nuclear reactor control system may have to sample the temperature of the core and process the data every 10th of a second. If the system is not fast enough to be able to handle interrupts from the temperature sensor every 10th of a second, then data will be lost and there is no way of ever recovering the data; the next time that the system receives temperature data, they will be the current temperature, not the reading that was missed. If the reactor is on the point of a meltdown, then it is critical that all relevant information be both received and processed as laid down in the specifications.
With all real-time system, the performance must meet every time constraint listed in the specifications.
Reliability
uIf a program repeatedly and frequently fails to perform, it matters little whether other software quality factors are acceptable.
uSoftware Reliability is defined in statistical terms as “the probability of failure-free operation of a computer program in a specified environment for a specified time.”
uIt is necessary to know how often the product fails. (MTBF)
uWhen a product fails, an important issue is how long it takes, on average , to repair it. (MTTR)
uMeasure of Reliability:
MTBF = MTTF + MTTR
uMTBF: mean-time-between-failure
uMTTF: mean-time-to-failure
uMTTR: mean-time-to-repair
u
uSoftware availability is the probability that a program is operating according to requirements at a given point in time.
uMeasure of Reliability:
u
MTBF = MTTF + MTTR
uMeasure of Availability:
u
Availability = [MTTF/(MTTF + MTTR)] * 100%
u
北京地区对软件测试感兴趣的朋友可以加我qq交流:306513768
[ 本帖最后由 rendaoyuan 于 2007-3-30 11:37 编辑 ] |