[Software Test] concept papers

What is the demand

The concept: to meet user expectations or formalized documents (contracts, standards, specifications) has the condition and capabilities including user needs and software requirements

  • User needs : can be simply understood as a demand raised by the Party, if the Party does not, then that is the end user must complete tasks when using the product. The demand is generally more simple.

  • Software requirements : call or functional requirements, the demand for software development must implement detailed description.
    Software requirements are the fundamental basis for the work of testers for testing

What is bug

Demand Error :
Software Error : The program did not achieve its end-user reasonably be expected to functional requirements, that is, software errors.

What is the test case

Test (the Test Case) : a collection of test embodiments provided to the system being tested, the group set which comprises: a test environment, step operation
step, the test data, expected results
and other factors.
You may encounter the following issues during testing:

  • I do not know whether more comprehensive testing of all functions
  • Test coverage can not be measured - Repeat testing of the new version is difficult to implement
  • There are a lot of redundant test the impact of test efficiency

Test case generation is to solve the above problems.

Two models of software testing

V model

Here Insert Picture Description

  • Clearly given different types of tests that exist in the testing process, and a clear description of the correspondence between these various stages during the testing phase and the development process.
  • V model indicates, and perform integration testing should be tested for the program unit meets the software design requirements; system testing should detect system functionality, quality characteristics performance has reached the indicators system requirements; achieve acceptance testing to determine whether the software to meet user needs or contract requirements.
  • Limitations: only the test at a later stage as code, not to enter the test during the requirements phase.
W model

Here Insert Picture Description

  • W model increases the verification and validation activities to be carried out simultaneously in each software development phase. W model consists of two V-shaped models, representing the testing and development process, the drawing clearly shows the parallel relationship between the test and development.
  • W model features: the object is not only a test of procedures, requirements, design, etc. also have to test, test and development are carried out simultaneously.
  • W model advantages: in favor of a comprehensive identify problems as early as possible. For example, after the completion of requirements analysis, test personnel should be involved in the verification and validation of requirements in order to find out where the problem lies as soon as possible. At the same time, demand for testing is also beneficial to keep abreast of item difficulty and test risk for early development of response measures to significantly reduce overall test time, speed up the progress of the project.
  • Limitations: requirements, design, coding and other activities are considered serial; testing and development activities to maintain a linear context, completely finished on a stage, before the official start of the next phase of work. We can not support agile development model. For the current complex and changing software development, W model and test management is facing not relieve the confusion.

Comparing the two models

V model W model
Refer to different Model patterned shape of the letter V, so called V model of software testing It consists of two V-shaped models, representing the testing and development process
Different characteristics Just as in the testing process needs analysis, after a phase of system design and coding, ignoring the testing requirements analysis, system design verification, to meet the needs of the situation until acceptance testing was only later verified Testing and software development activities carried out simultaneously, the test object is not just procedures, also including requirements and design, early detection of software defects can reduce software development costs
Apply different It is a traditional software development model for some of the development of traditional information system applications Conducive to a comprehensive early detection of problems

Software life cycle

Software life cycle: refers to the time from the idea to start a software product to no longer use the software end. If the software as a living thing, then the software life cycle can be divided into six stages, namely requirements analysis, planning, design, coding, testing, operation and maintenance .

Software Development Model

Waterfall model (Waterfall Model)

Here Insert Picture Description
Each stage of the waterfall model is only executed once, so is
the software development model of linear order

Advantages :

  • Emphasize the development stage;
  • Emphasis on early planning and needs assessment;
  • Emphasis on product testing.

Disadvantages :

  • Relying on older conducted only time demand, changes can not meet the needs of the investigation;
  • Because it is a single process, lessons learned in the development process can not be applied to the feedback of the product;
  • Risks are often late as the latter part of the testing phase was revealed, thus losing the opportunity to correct as soon as possible.
Spiral Model (Spiral Model)

Usually in the early stage of development of software demand is not very clear, the use of incremental development model. Spiral Model is one of the representatives of progressive development models.
Here Insert Picture Description
Advantages :

  • Stressed that the whole process of rigorous risk management.
  • He stressed the quality of the development phase.
  • Whether to provide a valuable opportunity to review the project to continue.

Disadvantages :

  • The introduction of a very strict risk identification, risk analysis and risk control, which places heavy demands on the skill level of risk management. It takes people
    into staff, money and time.

Incremental, iterative

Incremental model (Incremental Model) : is where you build the entire solution in part, but at the end of each phase or part you do not, anything can review or feedback. You need to wait until the final stage of the incremental process in order to deliver the final product.
Iterative model (Iterative Model) : this is our idea and the iteration when iterative various versions continue to improve. You move from one version to another you decide (based on feedback) in the new version of what is required as a better choice and what needs to be discarded.

Incremental development can significantly reduce project risk, combined with software continued to build mechanisms, constitutes one of today's popular software engineering best practices.

Incremental development model, to encourage user feedback, in each iteration, the development team to promote a cyclic, predictable driven product development.
Therefore, in this development model, every iteration means that there may need to change, to build a new executable version of the software, which means the need for frequent testing, testers need to cooperate more closely with the developer.

agile

There are many ways agile, scrum which is more popular.
Inside the scrum roles :
scrum by the product owner (Product Manager), scrum master (project manager) and the team (development team) components.
The basic flow of scrum :
Here Insert Picture Description

  • Product Owner responsible for collating user story, the left side of the formation of product backlog
  • Release planning meeting : product owner is responsible to explain the user story, its estimation and sorting, output release planning meeting is to develop a list of this story of iterations to complete, sprint backlog.
  • Iteration planning meeting : a story for each team project task decomposition, the decomposition of the standard is to complete all the tasks of the story, each task has a clear head, and man-hours to complete the initial estimate.
  • Daily meetings : scrum master day meeting convened standing, team members answer yesterday did what any plans to do today, what is the problem.
  • Conference presentation : After the end of the iteration, held a demonstration meeting, and the persons are invited to participate, to show the results of the team responsible for this iteration achieved. Everyone's feedback recorded during compiled by po, the formation of a new story.
  • Recalling the meeting : the project team to summarize the current iteration, found to be insufficient, to develop an improvement plan, continue to improve the next iteration, it has reached the continuous improvement
    into effect.

Agile Testing

Agile testing is a testing practice to follow the Agile Manifesto: From the user point of view to use the system to test the system.

Agile's biggest feature is highly iterative, cyclical, and timely and sustained response to customer feedback frequently. Agile Testing that is constantly revised quality indicators, establish the correct test strategy, validated customer needs can be successfully achieved and ensure that the entire production process safe and timely release of the final product.

Published 60 original articles · won praise 23 · views 3312

Guess you like

Origin blog.csdn.net/weixin_44945537/article/details/104054861