[Test] software testing concept papers

Test concept papers

table of Contents

1. The purpose and principles of software testing

2. Requirements

3.Bug

4. Test Case

5. develop models and test models

5.1 software life cycle

5.2 Waterfall Model (Waterfal Model)

5.3 spiral model (Spiral Model)

5.4 incremental, iterative

5.5 Agility

5.5.1 scrum

5.6 Agile Testing

V 5.7 software testing model

5.8 Software Testing W model (double V model)

6. configuration management and software testing

6.1 What is the configuration management

6.2 application software configuration management

6.3 Benefits implement configuration management

6.4 Configuration Management and Software Testing


1. The purpose and principles of software testing

OBJECTIVE: There is no software problem

Principles: customer-oriented, follow the software testing specifications, procedures, standards and requirements

From the goal of software testing can be divided into two categories:

In order to verify whether the test work program; To validate the test program does not work properly.

2. Requirements

User needs: relatively simple, rough; not guide the development and testing staff work

Software requirements: call or functional requirements, conditions and power official documents, more detailed, can guide the development and testing staff work, the demand for software development must implement detailed description

Software requirements are the fundamental basis for testers for testing

Capability: it can be understood as claimed

User requirements into a software needs core is communication;

Product managers and users often communicate;

3.Bug

There are two types:

The first: if and only if the specification is present and correct, the mismatch between the program and the specification is wrong

The second: When no requirements specifications, subject to the end-user criteria: when the program is not reasonably be expected to achieve its end-user functional requirements, the software error is

4. Test Case

Regarded as a test group set provided to the embodiment of the test system being tested, this group set comprising: a component test environment, the steps, the test data, expected results and the like;

Test process will encounter the following problem: I do not know whether more comprehensive testing of all functions - test coverage can not be measured, repeated testing of the new version is difficult to implement, there are a lot of redundant testing, impact testing efficiency;

Test case generation is to solve the above problems.

eg:

Cell phone:

1. Enter the name, there is a corresponding phone number to dial, no corresponding phone, do not call

2. The phone has a signal, can call, no signal, can not break out

3. Does the phone has power

4. The phone card is installed in the phone

5. Dial past each other's phone is busy, turned off, no answer

6. Is there a telephone card fee, you can call in the past

7. Pull the other side you have black, phone call does not last

8. Does this mobile phone has call functionality

9. own handset earpiece and the other is in good condition, you can hear

10. Using headphones, then, to see whether the headset can be heard, or there is flared

11. The length of the telephone number

12. Enter the phone number if there are characters

13. The number of mobile phone number section

14. Set shortcuts

15. The plane hit, playing cornet

17. regional issues, the same province, in different provinces, between international

18. The other pin number, title

19. In answer, can you draw a line in addition a telephone

5. develop models and test models

With the development of the software engineering discipline, awareness of computer software gradually deepening. Software is not confined to the scope of work in programming, but extends to the entire software life cycle, such as the formation of the basic concepts of software requirements analysis, design, implementation, testing, installation and deployment, operation and maintenance, until the software is updated and replaced by a new version. Software engineering also includes many technical administrative tasks such as process management, product management, resource management and quality management in these areas have gradually established standards or specifications.

5.1 software life cycle

Six phases: requirements, planning, design, coding, testing, operation and maintenance

5.2 Waterfall Model (Waterfal Model)

String type: Demand -> Programs -> Design -> Encoding -> Test

Cons: The only rely on the earlier conduct a needs survey, can not adapt to changes in demand

Because it is a single model, serial, and lessons learned in the development of the feedback process can not be used in this 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

Advantages: all stages of distribution is very clear; to emphasize the development stage; emphasis on early planning and needs assessment; emphasis on product testing;

Project demand is relatively stable, relatively small changes in the project fit with the waterfall model

 

5.3 spiral model (Spiral Model)

He emphasized that the risk is progressive type

Model for large, high complexity, high risk projects

There are strict risk management of the whole process: Advantages

Cons: project schedule may be long, because the risk analysis should be carried out at each stage, you need to put people, money and time, introduced very rigorous risk identification, risk analysis and risk control, which was proposed on the skill level of risk management high demand

5.4 incremental, iterative

Incremental: It is a concept built block by block, there is no link between the blocks

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

Iteration: repeated refinement of the concept, from the first outline of the overall concept

The core of the project is to reduce the risk

5.5 Agility

Twelve Declaration (four cores)

1) communication between people: individuals and interactions over processes and tools

2) Light documents: the available software is more important than a complete document, he does not mean there is no document (no document agility is bullying)

3) Client full participation: customer collaboration is more important than contract negotiation

4) embrace change: in response to changes in weight following a plan (note time)

Agile development methods: scrum is more popular

5.5.1 scrum

scrum components: the Product Owner (product owner, referred po) Agile Coach (scrum master ,, referred sm) team (team)

Communication is very important

Iterative Development: period ranging from one to four weeks, but not more than four weeks; the number is generally 5-9 weeks; a meeting is not more than 15 minutes, one person in three sentences;

The basic process:

1) Product Owner responsible for collating user story, the left side of the formation of product backlog

2) release plan meeting

3) Iteration Planning Meeting

4) daily meetings

5) presentation meeting

6) Review Conference

5.6 Agile Testing

Challenge 1: Light Documentation

Challenge 2: rapid iteration

1) within the core customer testing is not changed, it is to continue to find Bug, just to adjust their mentality, everything agile principles-based.

2) testers can not rely on documents, test cases weakened, greater use of mind mapping, exploratory testing (stressed that the freedom to design and execute both, and constantly adjust the test plan based on test results), automated testing

3) emphasis on agile collaboration, agile project team, testers should be more proactive and learn more about the needs of developers, to discuss the design, research Bug reasons appear together. to sum up:

Adjust their mentality

Instead of automated testing manual testing

Cooperation between teams

Agile development process model:

po finishing USER STORY ---- determine the user story each iteration needed ---- user story assignment, time to assess the development ---- ---- ----- developed test --- test is completed ----- published on-line                       

V 5.7 software testing model

White-box testing: test with your own code to the code of R & D personnel

Black box testing: manual testing

User needs: testers need to understand the purpose, probably function

Needs analysis and system: testers test plan

Coding stage: write tests carried out

General unit testing and integration testing by the developer or white box engineers

Unit Test: white box

Integration Testing: There are white box and black box testing

System test: tester core work, do most of the work,

The five stages are: data preparation, environmental construction, test execution, defect management, output test report

Acceptance testing: test personnel to test, planners and customer training, guidance, and collect user feedback and suggestions in use

(Waterfall model and the advantages and disadvantages are very similar)

Pros: The division of each stage in more detail

Cons: identify problems relatively late, great modification costs, giving a test unimportant illusion

 

5.8 Software Testing W model (double V model)

Testing and development are parallel

User needs: to know what projects do

Features w Model: The object is not only a test of procedures, requirements, design, etc. also have to test, test and develop synchronization;

W advantage of the model: in favor of a comprehensive early detection of problems,

Limitations: requirements, design, coding and other activities are considered walking through the testing and development activities have also maintained a linear context

6. configuration management and software testing

When participating in contemporary software development, you must have basic literacy software configuration management. Configuration management of software projects do not understand, do not understand software development management. No software configuration management project, in fact, there is no software project development and management.

6.1 What is the configuration management

Configuration Management (Con fi guration Management) are identified by software in the software life cycle different points in time configurations and software identified configuration changes items for system control, so as to achieve to ensure that the software product integrity and traceability of course.

6.2 application software configuration management

Software development process will produce a large number of software products (including documentation, source code and data, etc.), and there is a relationship between these products. The same software product changes also occur, resulting in many versions. Software development teams must clearly know which products have these products which have different forms and versions. The development team must clearly know how to change the product to notify the affected group. If you can not effectively understand the software product and its changes, the development team will be difficult to assemble these software products, it is difficult to get the required software products.

6.3 Benefits implement configuration management

(1) can be effectively managed change project documentation, code, etc.

(2) the ability to easily reproduce the historical version of a file.

(3) to re-compile a version of history, it makes maintenance easier.

(4) enables remote multi-team development, parallel development to become a reality.

(5)从公司级看,实行统一的配置管理流程可提高项目组间人员流动时的工 作效率。

6.4 配置管理与软件测试

测试人员是SCM中的参与者,有些公司也会把测试人员和配置管理员合二为一。如果配置管理流程不规范,或者没 有遵循一定的配置管理流程进行软件测试活动,也可能导致很严重的后果。

测试人员应该从配置库取源代码编 译后再测试,只有看到新的构建版本不再出现那个Bug,才能把缺陷库中的Bug关闭。

 

发布了62 篇原创文章 · 获赞 9 · 访问量 1万+

Guess you like

Origin blog.csdn.net/qq_43669007/article/details/103359183