What is software project acceptance, software project acceptance test method sharing

Good testing methods can ensure the correct operation of software projects. However, in addition to software, there is another important but often overlooked role-the customer. Considering customer needs at each stage of software project development is a very important point for the success of the system.

1. Overview of software project acceptance testing
Acceptance testing has been used in different technologies and methods. Sometimes it refers to the same concept, and sometimes it may refer to different forms of testing. Therefore, there must be a clear definition of the acceptance test related concepts discussed in this article:

①Acceptance test: including customer acceptance test, user acceptance test and functional test;

② Executable specifications: Acceptance test specifications, tests can be run to verify whether the project implementation matches the defined specifications;

③Customer: the end user of the system;

④ System: the software project developed;

⑤ Acceptance: meet functional and non-functional requirements;

⑥Function requirements: the functions and actions that the system must perform, such as display items, user authentication, etc.;

⑦Non-functional requirements: system related factors, such as performance, scalability and safety;

⑧Black box: a test process that does not depend on the internal details of the system, such as input data and test output results.

These terms are not enough to give an accurate description of how to apply acceptance testing to the software project development life cycle. Acceptance testing is not a new concept, but like Test Driven Development (Test Driven Development), it has only received attention and widespread use in recent years, and some related test tools and architectures have emerged. Next, let's look at how acceptance testing is applied to the software development life cycle.

Acceptance testing is often used in software projects developed under the guidance of Extreme Programming, Agile principles, and Scrum iteration models. There are two main reasons for this situation. One is that acceptance testing focuses on the value provided to customers by customers and the functions realized by the software, which is consistent with the principles of agile development. The latter also focuses on delivering software that actually meets customer needs. The second is to pass a set of automated acceptance tests to ensure that the software can meet customer needs and ensure that no old functions are destroyed when new functions are implemented. This means that the focus can be placed on ensuring that the functions being developed are consistent with expectations.

2. Software project acceptance test method
The preparation and implementation of acceptance test should run through each iteration of software project development. The following will be based on the Scrum iteration model to implement an iterative process of software projects including acceptance testing.

At the beginning of a standard Scrum iterative process, the development team accepted a list of product requirements with the highest priority to be completed. The product requirements should be broken down into multiple user usage scenarios, and each user usage scenario defines a system requirement. A user usage scenario usually consists of two parts, used to describe the part of the system that the user needs. For example, a typical user scenario can be described as "As a sales administrator, I want to be able to view credit card information so that I can process payments locally." This user scenario describes the operation and the users related to the operation. A clear description of what is required to be achieved.

Once a user scenario is selected, the development team should have a good understanding of what they want to achieve. At this stage, they should talk to customers and product owners to determine what is actually needed and expand the initial user scenario. And based on this information and other technical personnel within the team to create tasks, at this stage, you should write acceptance tests. By understanding the user usage scenarios you are trying to achieve, you can clearly recognize the tasks required to complete these implementations, and you can also know how to verify whether the application meets customer needs. Acceptance testing is not a low-level unit test, but a high-level test that focuses on verifying whether customer requirements based on user usage scenarios are correctly implemented. After determining the user scenario, it is necessary to define the acceptance test before decomposing it into tasks. When all acceptance tests pass, the system is complete. This makes task decomposition more focused on what needs to be done. At this stage, customers and product owners should assist the development team in defining acceptance tests to ensure that software requirements meet customer expectations.

A good acceptance test allows customers to clearly know the functions that the software project will implement at the current stage before starting coding. The customer clearly defines the requirements, and the development team can ask any questions related to the requirements and finalize the details with the customer before the actual coding. Using acceptance test guidance and verification can make customers clearly know what they want and the software project development team can clearly know what they plan to deliver.
Article reprinted from the Internet

Guess you like

Origin blog.csdn.net/wunian570/article/details/112372376