Pyramid System of software testing-from 1 Center to 5 elements

Source: Internet
Author: User

Pyramid System of software testing-from one center to Five Elements

When I was very young, I was very interested in the pyramid of Egypt. Not only was it because of its magnificent scale and sophisticated structure, but its rise and evolution have become a legend and a mystery of the ages. Here, there is a magic golden split number, Phi, whose value is an infinite decimal number. If only three decimal places are used, the value is 0.618. For example, divide the height of the pyramid by the bottom side length, that is, 1 percentile 1. 618.
= 0.618. Many of the characteristics of the pyramid, coupled with the combination of singular numbers mentioned by the 13th century mathematician fablas, are coincidental. The combination of these singular numbers is 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233... Any two consecutive ratios are close to 0.618, such as 3/5, 5/8, 34/55, 55/89, and 89/144. In addition, the pyramid has a vertex, five faces, and eight sides, with a total of 13 layers. These feature data is also very consistent with the singular numbers mentioned above..

Back to software testing, I also feel a mysterious relationship with the pyramid. Why? I will give you a detailed explanation below.

First, the starting point of software testing is quality. All work of software testing should be carried out around quality. Quality is the center of software testing and can be seen as the vertex of the pyramid, as shown in 1-1. The other part of the test is the tester, test resource, test technology, and test process supporting this vertex. Therefore, the five elements that constitute software testing are quality, personnel, technology, resources, and processes.

In this way, five elements constitute Five faces, each of which is composed of three elements, representing the working face of software testing. What is the working face? You can see it more and more clearly.

In the pyramid structure, there are eight sides composed of every two elements, each representing the relationship between the two elements. How to deal with these relations determines whether the test can be successful. Based on the relationship among factors, working faces, and elements, we have identified 13 software testing principles and 21 key domains. For the key areas of software testing, each software organization can understand its own level in this field and continue to improve. Finally, the various software testing methods are listed and applied to the actual work of software testing. Therefore, software testing can be summarized as follows:

 

 

From 1 Center to 5 elements

Quality is the center of software testing, which is beyond doubt. Testing is an important means of quality assurance, and testing itself serves quality. Whether the test can pass is the user's requirement, that is, the quality standard. Therefore, among the five elements of software testing, quality is the core, and the other four elements must serve quality and obey quality.

If you want to ask, what is the most important besides quality? It is naturally a tester. People are the factors that determine the implementation of technologies and processes. For intellectual activities such as software development, we must emphasize the "people-oriented" management culture to truly tap into the potential of everyone and complete the testing in the most effective way.

If we continue to ask, which two things do we have to pay attention to during software testing? The answer should be "test coverage" and "productivity )". An important measure of quality is the test coverage rate, including the coverage rate and code coverage rate of users' actual needs. On the premise of ensuring the quality, determine the priority of the task and take the correct policies and methods, including automated testing methods, to complete the test in an efficient way.

Once again and again, I pay attention to "test coverage" and "efficiency". What can be used to ensure this? This is nothing more than three aspects, namely testing personnel, testing process and testing technology. For personnel, it is necessary to cultivate a good team culture from recruitment, training, assessment, and other aspects, establish a correct working attitude, strengthen quality awareness, and improve the combat effectiveness of the team, build an excellent test team. Whether using agile testing procedures or traditional testing procedures, you must combine specific product and technical features to adapt to local conditions to form a suitable and effective testing process. The test technology is rich, so there are many discussions in the following chapters, from the client to the server, from the black box test to the white box test, from the static test to the dynamic test, fully construct a complete testing technology system to meet the needs of testing. The content can be described in Figure 1-2 to make it clear.

The pyramid system of software testing can be expanded based on the descriptions in the previous section to obtain the following structure, which is closer to a string of mysterious numbers.

 

 

Finally, summarize the Five Elements of software testing.

1)Quality: Software Quality is the goal of software testing and the center of software testing. Everything starts from quality, that is, everything starts from customer needs. Anything that violates quality is a problem. testing is to find out these problems.

2)Personnel: People are the deciding factor. The attitude, quality, and ability of testers determine the testing effect, which also has a great impact on the quality of the testing products. Tester factors include the definition of the test organizational structure, roles, and responsibilities.

3)Technology: Software Testing Technology, including methods and tools.

4)Resources: Mainly refers to the hardware equipment, network environment, and even test data required in the test environment. Another important factor is the test time, which is also the test resource. However, testers cannot be regarded as resources, and their abilities vary greatly. Different testers can assume different roles and cannot replace each other. This is also the reason why the author of [1], a typical software book, opposed to treating people as resources.

5)Process: From creation and review of test plans and test cases to test execution and report, set the entrance and exit standards for each stage.

5Working Face

Based on the composition of the software test pyramid, we carefully studied the five working faces, as shown in 1-3.

 

 

Figure 1-3 5 basic working faces for Software Testing

1)Quality-Personnel-Technology:Team building, including recruitment, training, and assessment.

2)Quality-Personnel-Resource:Cost management, personnel and hardware and software resources are both input for testing, but at the same time, they must be treated differently from hardware and software resources. Do not treat people as hardware and software resources, otherwise there will be more problems.

3)Quality-Technology-Process: The combination of technology and process is a testing architecture or testing framework. through technology, the process can be integrated into the system or tool to ensure stable and effective process execution. Technology can achieve maximum benefits only when the framework is solidified.

4)Quality-Process-Resources: Infrastructure, build a test environment, and build tests on solid, process-based infrastructure.

5)Personnel-Technology-Process-Resources: Under certain quality standards, how to balance these elements and maximize productivity is the main task of software testing project management.

 

 

 

This article is excerpted from the book "perfect test: Best practices for software testing.

Book details: http://blog.csdn.net/broadview2006/article/details/7528416

 


[1] MAN piece 1st was published in 1987, 2nd was published in 1999, and 3rd was translated into Chinese by UML
Published by Tsinghua University Press in 2003.

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.