Models related to software testing

development model

The development model is simply the software development process. For a piece of software, its entire development process affects the life cycle of the software.

software life cycle

Software Development Lifecycle

The life cycle of software development is as follows:
insert image description here
the general meaning of each stage is introduced:

Demand analysis: analyze the product from the perspectives of market demand, input income ratio, technical feasibility, etc.;
plan: determine the start time and end time of product development;
design: refine the demand and carry out technical design;
Coding: Program coding by developers based on requirements documents and technical documents;
Testing: Testers perform tests with reference to test cases;
Operation and maintenance: Repair problems not found in the project (remedial maintenance), and improve product functions (perfect maintenance), using preventive means to maintain the product (preventive maintenance);

The life cycle of software testing

The testing tasks that software testers need to perform are staged, which naturally involves the life cycle of software testing;

insert image description here

Requirements analysis: testers understand the requirements, analyze and decompose the requirements, and obtain test requirements;
test plan: write test plan documents, roughly including how many testers, the time to start testing, etc.;
test design and development: testers rely on requirements documents Write test cases and technical documents;
test execution: the most important work stage for software testers, perform tests according to test cases;

A very important point is: software testers are often the people who know the requirements best, and software testing runs through the entire life cycle of software ;

software development model

The software life cycle refers to the time from the conception of the software product to the end of the software when it is no longer used. With the continuous development of the software industry, several models have emerged:

waterfall model

The waterfall model is the basic framework for all other models and is a linearly executed software development model;

insert image description here
Pros and Cons of Waterfall Model:

Advantages: more emphasis on the stages of development;
disadvantages: the first stage can only start after the end of the previous stage, and the running product can be seen very late, which will cause risks to be revealed until the later testing stage, and there is no opportunity for early correction; at the same time The test is placed in the back, and the test time may be squeezed, resulting in insufficient testing, and eventually exposing defects to users;

The waterfall model is more suitable for small projects with fixed requirements;

spiral model

The spiral model is a progressive development model, which adds risk analysis on the basis of the waterfall model, and the entire development process test is iterated with the iteration of development;
insert image description here

Advantages and disadvantages of the spiral model:

Advantages: Emphasize the quality of each development stage, and the possible risks of software development are strictly managed;
Disadvantages: The addition of a risk analysis stage will inevitably consume a certain amount of manpower and financial resources (signature risk analysis talents), and more time-consuming;

The spiral model is more suitable for projects with large scale, uncertain demand, high complexity and high risk;

Incremental and iterative models

The incremental model is to modularize the project, and each module can be independently developed and launched;
insert image description here

Pros and cons of the incremental model:

Advantages: products can be delivered to users as soon as possible in a short period of time, which is convenient for responding to the market, and also reduces the risk of failure and changing requirements; disadvantages: when
adding new increments to system parts, it is necessary to ensure that the existing constructed part;

The iterative model is to first complete the basic version of the product, and then iteratively optimize the basic version again and again until the optimal version is finally obtained;

The incremental iterative model is relatively similar, and the difference between the two can be explained by the process of painting, that is, the incremental model is built block by block, first drawing the head, and then to the body... The iterative model is repeated refinement, first of all, the whole person Framework, and then optimize the expression and details in turn.

agile model

The agile model is also a software development method, and it also includes many methods, one of which is more popular is scrum;

Scrum includes 3 important roles and 5 important meetings:
Three roles:

Product manager: responsible for sorting out user requirements, defining its business value, and formulating release plans;
project manager: responsible for holding various meetings and coordinating projects;
R&D team: including developers, testers and other people with different skills, responsible for product delivery;

The basic process of scrum is as follows (the picture comes from the Internet):

insert image description here

The specific work tasks of each meeting of the 5 meetings:

Requirements release meeting: The product manager will explain user requirements. The output of this meeting is to determine the user needs to be completed in this iteration; iteration planning
meeting: split the requirements to obtain specific tasks, and determine the person in charge of each task , roughly evaluate the working hours;
daily meeting: determine the work tasks of the day, review the work completed yesterday and the problems encountered, the product of the daily meeting is a deliverable product; demonstration meeting:
demonstrate the results of this iteration;
Review meeting: The project team summarizes this iteration and formulates an improvement plan;

In addition to proposing the model, the proponent of the agile model also proposed the "Agile Manifesto", which mainly conveys such values ​​to us, that is, light process, light document, heavy goal, heavy output; it emphasizes the importance of team members To communicate as efficiently as possible, the ultimate standard of the agile model is deliverable software;

In addition, each iteration period in the scrum model is 1 to 4 weeks, usually 1 week;

software testing model

V model

insert image description here
The V model is actually a variant of the waterfall model. It clearly marks the different types of tests in the testing process, and of course clearly describes the correspondence between these testing stages and different stages in the development process;

Pros and cons of the V model:

Advantages: clarifies the different types of tests, and clarifies the correspondence between different test types and development work;
Disadvantages: the test work is placed behind, and problems cannot be found as soon as possible;

W model

insert image description here
The W model is composed of two V models, which respectively represent the testing process and the development process. The W model adds a method for synchronous testing in the software development phase. The testing objects include programs, requirements, designs, etc., achieving synchronization between testing and development. the mode of work performed;

Advantages and disadvantages of the W model:

Advantages: The time of test intervention is advanced, which is conducive to early and comprehensive discovery of problems. The test preparation can be started at the requirement stage, and measures can be formulated as early as possible, reducing the overall test time and helping to speed up the project progress; Disadvantages: Synchronization of development and testing,
but There is also a constant linear relationship. The previous stage is completely completed before the next stage can start, which does not support the agile development model;

over!

Guess you like

Origin blog.csdn.net/weixin_54175406/article/details/129843967