In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-03-28 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Internet Technology >
Share
Shulou(Shulou.com)06/03 Report--
Abstract: With the development of software testing technology, this paper puts forward a new software testing model, Chuan Model, which is more suitable for China's situation, based on the X Model, H Model and Pre-testing Model proposed by predecessors, according to the testing implementation concept of "tester guides development, documentation controls quality" and years of working experience. Also hope to use this article to discuss with software testing colleagues, to find a suitable software testing ideas and testing models for China.
Keywords: test model; chuan model; software test; test system; chuan model architecture; test organization diagram; chuan model value.
1 Introduction
With the continuous advancement of technology, computer applications have completely penetrated into our entire social system, people are now unable to adapt to the world without software, when you read this article, your computer is working, mobile phone is running. Even cars and traffic lights on the road are armed with software. People rely more and more on software. Although reliable software brings unprecedented convenience to our work and life, poor quality software also makes us pay a painful price, which makes us fully realize that software quality is affecting the lifeline of society.
In order to improve software quality, software developers have done a lot of research and practice. From the initial technical innovation, such as compilation, debugging tools, etc., to various computer-aided software environments, and then to the research of software development models. However, this kind of research focusing on technology and methods does not really achieve the purpose of ensuring software quality (but it does contribute to the improvement of software quality). Therefore, people began to realize that only by controlling the quality of software development process, it is possible to greatly improve the quality of software. As a result, software quality assurance has shifted from an initial focus on technology and methods to a focus on process management practices.
The essence of software quality assurance is a series of activities established to ensure that the software development process and results meet the expected requirements and their results are evaluated. The ultimate purpose is defect prevention, meeting the actual needs of users, and avoiding safety risks. Software testing is a powerful weapon to ensure software quality. From initial debugging and verification to independent testing system, all of them embody the importance of quality assurance and the necessity of testing.
The purpose of this paper is to propose a software testing model to improve software quality and efficiency with the development of science and technology. We hope to find out a software test idea and test model suitable for China's national conditions.
2. Analysis of the status quo of software development and testing
At present, the mainstream software development models include spiral model, incremental model, progressive model, Rapid Software Development (RAD) and Rational Unified Process (RUP), etc. These models have a very good guiding role for software development process, but these models do not fully emphasize the value of testing, nor do they give enough attention to testing. These models can not guide testing practice better. Therefore, software testing model emerges as the times require. It can systematically guide a series of activities of testing and R & D, and plays an important role in improving software quality. At present, the common software test models include V model, W model, H model, X model, pre-test model and so on.
These test models have improved and developed software test systems to some extent, but they still have more or less problems, and have not fully exerted the ability of testing to quality assurance. Here's an analysis of the pros and cons of several mainstream test models.
2.1 Analysis of V Model
V model emphasizes collaboration and speed of software development, reflects testing activities and analysis design relationships, organically combines software implementation and verification, emphasizes several testing levels that need to be experienced in the entire software project development, and corresponds to development levels. However, the principle of "testing software early and continuously" is not reflected; testing is regarded as the last activity after coding, and errors generated in the early stage of the project can not be discovered until the later stage of testing; testing of requirements and design is not clearly indicated.
2.2 Analysis of the Advantages and Disadvantages of W Model
The W model emphasizes the forerunner of test plan and the testing of system requirements and system design; in the whole software development cycle, testing and development are carried out in parallel, which is conducive to finding problems as soon as possible; the test objects include procedures, requirements, designs, etc.; timely understand the test risks of the project, formulate countermeasures as soon as possible, and accelerate the project progress. However, it does not specify the test discipline, and software development and testing maintain a linear context that does not support the problems of iteration, spontaneity, and requirements change adjustment that are often encountered.
2.3 Analysis of the Advantages and Disadvantages of H Model
In H model, software testing activities are completely independent, run through the whole software cycle, and run concurrently with other processes. When a test point is ready, it can be carried out from test preparation stage to test execution stage. It is proposed that software testing not only refers to test execution, but also includes many other activities. Testing is carried out in different levels according to different objects under test. Different levels of testing activities can be carried out in a certain order, but also repeatedly.
2.4 Analysis of X Model
Model X requires unit testing of every piece of the program, but it does not provide criteria for skipping unit tests; multiple parallel curves represent changes that can occur in various parts, improving iteration efficiency; and it defines exploratory testing, which helps experienced testers find more software errors outside of the test plan, but requires more competence from testers.
2.5 Analysis of the Advantages and Disadvantages of Pre-test Model
The model integrates the development and testing life cycles, identifying key behaviors from start to finish of the project life cycle; explicitly stating that every deliverable must be tested in a certain way; and defining "develop test cases based on requirements" and "define acceptance criteria" to keep acceptance testing and technical testing independent of each other.
All the above models have their advantages and disadvantages, but generally speaking, they do not really control the significance or timing of testing for quality assurance. In most models, testing is only a part of the software development process, and there is no clear independent system. Although the H model promotes the status of testing for product quality assurance, it still lacks the embodiment of the importance of testing procedures and materials.
3 Chuan Model Architecture
Aiming at the problems existing in the present situation of software development and testing (and combining the advantages of each known model), a new testing model-Chuan Model is perfected and developed according to the testing implementation concept of "development guided by tester and quality controlled by documentation."
3.1 Chuan model
The Chuan model consists of three relatively independent test implementation processes, named for the similarity of the Chinese word for "Chuan." The three test implementation processes are acceptance test implementation process, requirement level test implementation process and business level test implementation process. As shown in Figure 1.
Fig. 1 Schematic diagram of working organization of Sichuan model
1) Acceptance test implementation process
The purpose and focus of this process is to protect the real needs of users, because the acceptance results are important basis for the successful delivery of the final product or project, and the dominant party of acceptance must be the user (representative). The initial stage of this process is to design the acceptance scheme according to the project requirements and test requirements before putting into real R & D and testing, and review it with users (representatives) in the form of paper scheme, so as to reduce the increase of development iteration due to the inconsistent requirements of the three parties (users, R & D and testing) in the later stage. At the same time, this acceptance scheme is used as a yardstick to restrict the implementation of the other two processes.
2) Requirements level test implementation process
This phase emphasizes that testing is accompanied by the entire software development cycle, and testing and development are carried out in parallel to achieve the purpose of discovering problems as early as possible. The test object is expanded into program, design (document), data and other contents, and the test work is prepared in real time, so that when a test point is ready, it can be quickly cut into the test execution stage. In this process, the content of iterative testing is analyzed and explained in detail, and it is clearly proposed that unit/integration testing, functional testing, automation testing, safety testing and special testing should be carried out in the iterative process. It is also an inevitable trend of today's scientific and technological development to improve automatic testing and safety testing to the stage of testing guidance.
3) Business-level test implementation process
If the testers are divided into test leaders and test executors according to test capabilities, the test execution in the implementation phase of the requirements level test can be carried out by the test executors, but the main executors of the business level test implementation process should be positioned as the test leaders, at least the test leaders should lead the test. The fundamental reason lies in the significance of this phase is the control of business, risk, etc., and the introduction of exploratory testing as a favorable supplement to the requirements level testing phase.
Requirements level test implementation process seamlessly integrates with R & D process. The value of the business-level test implementation process lies in controlling and mastering the scenarios, risks and other factors when the product is actually put into use, focusing on the targeted design of requirements, meeting the classic theory of "Eight Two Rules," i.e. focusing on "Two"(80% of the scenarios used by users may exist in 20% of the functions). The acceptance test implementation process relies on the actual needs of users and the previous test analysis. As a ruler of the software life cycle, it runs to the end of the product or project to meet the needs of users to the greatest extent.
3.2 Working Organization Rules for Chuan Model
As can be seen from Figure 1:
Chuan model highlights the importance of testing activities to quality control. From the beginning of the feasibility analysis of the project, testers play an important role. At the same time, the importance and timing of test requirement specification, acceptance scheme and test scheme are explained. Reflect:
1) Requirements analysis requires product/project managers, users, testers, etc. to participate in the whole process;
2) The test requirements specification needs to be drafted by testers and reviewed by product/project managers, users, R & D, etc.;
3) The acceptance plan is prepared by the tester in advance and reviewed and approved by the product/project manager and the user;
4) The R & D design stage is mainly written according to the test requirements specification (secondly, refer to the software requirements specification). Before the code development is completed, the tester outputs the test cases written according to the test requirements specification in advance, and the R & D personnel refer to them in advance to improve the test pass rate of the R & D code developed according to the test cases;
5) Most of the iteration phase is in the requirement level test implementation process, and the test work is prepared in real time so as to quickly enter the test execution;
6) The implementation of business-level testing is complementary to demand-level testing, and seamless in the middle and late stages of software development;
7) The trigger point of acceptance is passing the business-level test. After the acceptance is completed, the project data shall be archived;
8) In the process of R & D, if there is any change, it is necessary to go through the change control procedure, return to the test requirement analysis stage, and output the changed series of data (acceptance scheme, test case, etc.) according to the actual situation and key personnel.
4 Gantt chart of Sichuan model
Timeline and isochrones are defined in the left half of Figure 1. And explained the participation opportunity of different functional personnel, has given everyone in the time sequence understanding.
5 Value of Chuan Model 5.1 Reflects the Mission and Importance of Testing
In Sichuan model, it is easy to see the significance and implementation method of software quality assurance by testing work. Different from other models, this model clearly and systematically explains the mission of testing, and this model really stands in the role of testing, guiding the research and development work under the approval of testing to ensure the quality of the end user, as a yardstick for research and development work.
5.2 Reflect the importance of testing first
From the feasibility analysis of the product/project, testing activities have been accompanied by the whole life cycle, which truly embodies the principle of "early and continuous software testing."
5.3 Importance of Documentation and Traceability
In the process of product/project interaction, documentation is more and more urgent. Documentation can not only make the R & D and testing process more rational, evidence-based and scientific, but also provide a basis for future traceability. At the same time, the requirements for test cases in the early stage of products/projects have greater guiding significance for R & D. R & D can completely carry out development activities according to the standard of "software design according to test cases, and R & D is completed when cases pass," avoiding R & D redundancy or lack of functions due to inconsistent requirements, and improving work efficiency.
5.4 A procedure for combining three test techniques is proposed
The Chuan model first proposed a working model of three execution lines. The acceptance implementation process is executed as the guidance process of the whole product/project, which is most closely related to the user, can best reflect the actual needs of the user, and avoid and reduce random changes in the work process; the requirements level implementation process is the most effective to ensure the test coverage rate, and the interaction with R & D is more smooth, improving the agility of test and R & D iteration; The business-level implementation process has been designed and verified by experienced testers for the most important requirements in terms of risks, scenarios, exploration, etc. It can be said that after sorting out the last execution line, the actual and frequently used functions of the user are covered.
In addition to the requirement level implementation process and R & D interaction is close and sufficient, the other two processes are relatively independent, reducing the interference of the R & D process and providing a favorable basis for ensuring software quality.
5.5 Isochrones provide the basis for quality assurance
The concept of isochronal line is proposed for the first time in this model, which avoids duplication of work or even unnecessary intersection in time series. Just like the constraints of this model, we must first analyze the test requirements and output the test requirements specification before we can carry out the acceptance test design; when the acceptance test design is almost completed, we can carry out the demand-level test design to ensure a high degree of unity between the test design and the acceptance criteria; after the business-level implementation process is passed, we can carry out the acceptance execution work. From another level, it also puts forward higher requirements for testing. For example, before R & D submits code, the preparation work for testing must be completed and can be cut into work at any time; when there is a requirement change, the tester needs to update the test requirement specification, acceptance scheme, test scheme, etc. successively. After the review is passed, it is shared with key personnel in real time to ensure the smooth progress of the project.
6 Concluding remarks
Chuan model is proposed in a short time, only one or two companies have carried out related practice, see obvious effect; improve the sense of mission and honor of testers; also reduce redundancy and omission problems in the software development process. However, this model has not been put into practice by a lot of software enterprises, and there will be more or less problems. This is only a preliminary study. Through this preliminary study, I want to find out a software testing idea and testing model suitable for China's national conditions. We are also welcome to discuss together.
Author introduction:
Li Long, Zhang Cui, Liu Wenzhen, Liu Wenjie
about the author
Li Long: Manager of Testing Department of Beijing Saibo Xingan Technology Co., Ltd., CTO of Beijing Ruanda Qihang Technology Development Co., Ltd., Deputy General Manager of Jinan Derun Wanjia Agricultural Technology Co., Ltd., and expert of China Software Testing Alliance. The concept of "tester guiding development and documentation controlling quality" is proposed. He has published 7 books including Practical Software Testing Technology and Common Templates, Cloud Computing Foundation and Practical Technology, Wireless Network and Application Technology.
references
Liu Chunlu Software Evaluator Tutorial [M]. Beijing: Tsinghua University Press, 2005
Li Long, Li Xianghan, etc. Practical technology and common template of software testing [M]. Beijing: China Machinery Industry Press, 2010
li lianye, wang hua, li long, etc. Software Testing Technology and Testing Training Course [M]. Beijing: China Machinery Industry Press, 2012
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.