What tests do we need?

Source: Internet
Author: User

Left Ear mouse Sending Table 《 Me Are Required Title Of QA ? ? After , One stone stirred up waves , Like Existing , Fierce anti-Attack Pair Both ; Someone Description Text For QA Of Yi No Pair , Also Someone Description To be partial ...... Indeed , Not Required Full-time Of QA Role This Items Problem Upper , Very Hard Use one Simple Of " Yes " Or " No " To answer . I wrote an article two days ago. For this Text back Ying Article , However, since the article is written Warehouse comparison Promotion , Many Guan Point is too late to complete the statement , Therefore , In " More truth Debate Yue Ming " Original Then Lower , In This article Article , I agree Backup Just " Me Are What do I need? Sample Of Test "This Items Question My opinion .

The first thing to note is,This article does not discuss the question of "do we need full-time QA ?",It's not about "What QA or test projects need to do in various situations"But from my own perception of testing and my personal experience, I will talk about my views on testing for products with different characteristics.

The premise of this article is:"Different products require different tests". When I mention "product", in addition to the features presented externally by the product itself, it also implicitly contains the status of the product development team. This article does not take the industry as a dimension, because I believe that even in the same industry, there are various completely different products.

Tests serve quality, and test activities are conducted around quality. This definition is the starting point of our discussion today. The ISO 9126 model provides a multi-level quality model definition, which includes quality attributes of each orthogonal dimension. These quality attributes are user-oriented and developer-oriented. However, in actual testing, once the product quality is mentioned, most people may better understand it as "user quality", that is, "the quality of software that end users can feel (for example, )". "User quality" is the "good or bad" of products that users can directly feel, and is also the main reason why users are willing to pay for products. Therefore, attaching importance to "user quality" during testing is inevitable. Imagine that if Company A wants to develop a software for Customer B, as long as the software can meet the requirements of user B, Company A will get the money, this usually means that Company A has successfully completed the development of the software ". From this perspective, "user quality" is the standard for software development success.

However, if you look at the entire software development process in depth, it would be easier. The software developed by Company A for Customer B is not a hammer sale, but requires constant maintenance and upgrade. User B constantly puts forward new demands, these new requirements must be added to the software. In this case, from the perspective of benefits, Company A cannot simply consider whether the final output can meet the requirements of customer B, instead, we must find a way to ensure the maintainability and testability of the product in the process of continuous evolution, so that Company A can continue to succeed the product at a low cost. Therefore, if we do not consider software development as a hammer sale, but take into account the maintenance process of the software's lifecycle, we have to pay attention to the "Development Quality" Beyond "user quality ", the "Development Quality" here refers to the features inherent in the product, such as whether it is easy to be modified, whether it is easy to be transplanted, and whether it is easy to be verified.

1."User quality and development quality are the first factors that I usually use to analyze what kind of tests a product needs.

In this dimension, we can easily understand that if a product is just a one-time product (that is, maintenance and continuous evolution are no longer required after development ), therefore, the focus of the test must be "user quality" (you only need to care whether the product is performing well in front of the user );CodeIt doesn't matter whether the design is unreasonable or not. If a product needs to evolve for a long time, it must be concerned with the quality of code and design ("Development Quality "). For example, in a small game that uses paid downloads for sales, the development team usually does not spend much time and effort to ensure that the product has a good "development quality, instead, we would rather spend more time adjusting the external details, sound effects, and images.

2.The other one directly determines what kind of test dimensions the product needs, that is, the degree of product tolerance for defects ".

Test engineers sometimes like to use "zero defect" as the slogan for testing (I have been doing the same for a long time), but think about it carefully, if the cost of discovering a defect is greater than that of leaving it in the product, is it worth discovering it? From the project perspective, I think the answer is self-evident. Testing is a resource-weigh activity and a risk-based activity. Therefore, the smaller the impact of product defects, the easier the impact to be eliminated (repaired ), the smaller the value of this defect, the less resources that are worth investing in discovering it.

Comparing Internet products with traditional desktop products, for desktop products, defect repair costs are high enough (only through software recall or patch release ), therefore, the tolerance for defects is low. For Internet products, the repair cost for their products is low enough (for a known defect, it may take several minutes to completely fix the vulnerability. Therefore, it is more tolerant of defects (of course, for defects that may lead to loss of user data or other irreversible damages, it should be discussed separately. For Internet product development, identify defects in a timely manner (discover existing defects of those users ), the ability to quickly locate and repair defects is often more important than the ability to detect defects in the system test phase. To be able to identify and locate defects, you must rely on the built-in "development quality" of the product.

Taking some software in the medical industry as an example, the degree of tolerance for defects of the control software related to medical devices (such as automatic syringes and pacemakers) is very low. The reason is very simple, because such defects may cause too serious consequences.

3.The third factor is "effective testing methods ".

For Internet products, the most effective test method may not be to find a bunch of full-time test engineers to cover every functional detail within the company as much as possible, it may be a better choice for real users to test the product in many cases. Whether it's the dog food promoted by companies such as FB and Google (allowing all employees to perform tests) or the/B testing on the actual products, or the internal testing method that gaming companies usually like to adopt is a typical method that allows users to participate in the test. In addition, depending on different features of the product, it is also worth considering whether manual or automated testing is suitable for testing.

4.The fourth factor is the "Status of the product development team". Therefore, for the same organization, the tests are required at different stages of the Organization's development.

"A hard-pressed team cannot produce products with love. Naturally, a hard-pressed team cannot achieve a good test. I am afraid I have no chance to stop and think about how to improve my work.

The above is my understanding of the question "What kind of product requires and what kind of test. Under the guidance of these four factors, it is easy to understand why different products and enterprises adopt different testing methods by looking back at the testing of different software products. For example, FB does not have a full-time Test Engineer, because generally, testing engineers who focus on "user quality" cannot play a big value in this Organization, only developers who have a deep understanding of development can play a role in improving the "development quality. For many domestic software enterprises that focus on "project-based", it is easy to understand why they only need to test the problem of "discovering defects in products like customers.

 

Refer:

ISO 9126Model: http://en.wikipedia.org/wiki/ISO/IEC_9126

 

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.