Software Testing Basics Short Answers

Important short answer: 1 Difference between black and white box testing 2 Software test definition 3V model characteristics 4 Five kinds of logic coverage 5 Equivalence class division principle 6 Software defect definition classification attribute state transition 7 Function test performance test difference

Chapter One

Software testing concepts:

Software testing is the final review of requirements analysis, design and coding in the software development process in order to ensure the normal operation of the software and improve user satisfaction with the software before the software is officially put into operation. It is an important part of the software life cycle. The composition phase is a key step in software quality assurance.

Purpose of software testing:

Bug detection; validation and verification; continuous improvement of the development and testing process.

Principles of software testing:

(1) Early testing
(2) Comprehensive testing
(3) Whole process testing
(4) Exhaustive testing is impossible
(5) Pareto principle
(6) Avoid testing your own program
(7) Implement the testing process strictly according to the testing plan
( 8) Clear software quality standards
(9) Pay attention to the relevance of regression testing
(10) Avoid assimilation effects

Classification of software testing:

Dynamic testing and static testing.

Classification of test methods:

Black box testing, white box testing, gray box testing
Black box testing is also called functional testing
White box testing is also called structural testing
Gray box testing is mostly used for integration testing

Classification of test steps:

unit testing, integration testing, system testing, acceptance testing

Classification of testing purposes:

Functional testing, performance testing, interface testing, security testing, reliability testing, documentation testing, compatibility testing, recovery testing

Chapter two

Software testing model V model W model.

insert image description here

V model

insert image description here

W model

Advantages and disadvantages of V model and W model

Advantages of the V model: step by step refinement from top to bottom, easy to control the development process, clearly marked the development stage.
Disadvantages of the V model: it is difficult to find errors before coding; it is difficult to fully clarify user needs, and rework may be required; the flexibility of the software model is poor.
Advantages of the W model: parallel development and testing; earlier testing to discover defects; working in phases to facilitate control of the project process.
Disadvantages of the W model: activities such as requirements, design, and coding are considered serial, and testing and development maintain a linear relationship, which cannot support iterative development models; many current projects do not generate documents during execution and cannot be used; technology The complexity is high and the requirements are relatively high, which is difficult for many companies to realize.

Test Plan

A test plan is a document that describes the intended scope of testing activities, resources and schedule.

Chapter 3 White Box Testing

White-box testing is also called structural testing, logic-driven testing, and code-based testing.
Logical coverage is to achieve program coverage by traversing the logical structure of the program.

The logical structure includes:

Statement coverage; decision coverage; condition coverage; decision/condition coverage; condition combination coverage;

basic path test

The basic path testing method is based on the program control flow graph, by analyzing the circular complexity of the control flow, and deriving a set of basically executable independent paths, so as to design a test case method.
Ring complexity VG=Number of regions=Number of decision nodes+1=E-N+2

Chapter 4 Black Box Testing

Black box testing has also become functional testing, a method to detect whether each function of the system can be used normally through testing. In the test, the program is regarded as a black box that cannot be opened, and the program interface is tested without considering the internal structure and characteristics of the program, regardless of the internal structure of the program.

Equivalence class division:

Equivalence class division is a typical and common black-box testing method. The so-called equivalence class means that the results of this type of data input are the same.
A valid equivalence class is a valid input data set, and an invalid equivalence class is an unreasonable and meaningless input data set.
Principles of equivalence class division: Generally, it is divided according to intervals, numerical values, bool values, and restrictions or rules.

Boundary value analysis:

Boundary value analysis is a black-box testing method for testing the boundary value of input or output. Generally, strong boundary value analysis is used.

Decision tables and decision trees:

Decision table is a tool for analyzing and expressing different operations under multiple logic conditions. The decision table consists of condition piles, action piles, condition items, and action items.
A decision tree is a graphical tool used to represent logical judgment problems, and is generally converted from a decision table.

Conditions for merging rules:

The actions taken by the two rules are the same, and the values ​​of the condition items of the two rules are similar; from left to right, find a similar principle closest to the current column to merge.

Causal diagram:

is a tool for converting textual descriptions into graphics.
Cause-and-effect diagrams take into account situations where multiple input conditions can go wrong in combination.
C stands for cause and E stands for effect.
Common relations are: identity, not, or, and
there are constraints between inputs:
E constrains ab, at most one is 1, but all i are 0
I constrains at least one of ABC must be 1
O constrains: AB must have And there is only one R constraint for 1
: A is 1. Then B must be 1

Chapter 5 Software Defects

Simply put, software defects are those unwanted or unacceptable deviations in the software, which cause the software to some extent not meet the needs of users, resulting in quality problems.

Software Defect Classification:

Functional defects, performance defects, interface defects, algorithm defects, version errors, inspection defects, documentation defects, interface defects.

Defect attributes:

1 Severity: Very Serious, Critical, Fair, Minor Defect
2 Defect Priority: Urgent, Must, Should, Optional
3 Defect Status
4 Defect Origin

Defect state transition:

1. The tester discovers the defect and hands it over to the repairer
2. The repairer repairs it and hands it over to the tester for testing
3. The tester closes the software defect after confirming that the defect has been repaired

Defect reporting principles:

Defect reporting is the most important document in the software testing process
Report software defects as soon as possible; effectively describe software defects; concise and easy to understand; reproducible; locateable; clearly define the environment for test execution; Actual results; singularity; no evaluation; only description of facts.
Mantis is a defect management tool, a web defect management system based on php and BS architecture. Available for Linux Windows platforms.

Chapter 7 Developer Testing

unit test:

Unit testing is the testing work to check the correctness of the smallest unit in software design - module, also known as module testing. Generally speaking, a unit test is used to judge the behavior of a specific function under a specific condition.

Goals of unit testing:

Ensure code quality; ensure code maintainability; ensure code scalability
Unit testing mainly uses white box testing technology, which needs to design test cases from the internal structure of the program, and multiple templates can perform unit testing in parallel and independently.

Generally, several aspects are tested:

Module interface test; local data structure test; path test; error test

Integration Testing:

Integration testing, also known as assembly testing, means that all modules need to be assembled on the basis of unit testing.
Three levels: integration testing within a module; integration testing within a subsystem; integration testing between subsystems.

Goals of integration tests:

(1) Guarantee the quality of software products and improve the maintainability of software
(2) Find out the problems in the module structure and the overall architecture
(3) Ensure that the components can cooperate and operate according to the established intention after being combined, and ensure the incremental progress Behave correctly.
(4) Integration testing belongs to gray box testing, that is, to verify whether the interface is consistent with the design, and to find errors in the design and requirements.

Integration testing strategy:

Non-incremental testing; top-down integration strategy; bottom-up integration strategy; hybrid integration strategy.

Chapter 8 Functional Test

Functional testing can be divided into:
manual testing; automated testing. (White box, black box, gray box)
Functional testing: Functional testing only needs to consider each function that needs to be tested, and does not need to consider the internal structure and code of the entire software. Functional testing is also called black box testing or data-driven testing.
Types of functional testing:
logical function testing; interface testing; installation and uninstallation testing; usability testing; compatibility testing; security testing.

Chapter 9 Performance Testing

The difference between performance testing and functional testing: Software performance indicates the time and resource requirements of a software system. Software functions focus on what to do, and software performance focuses on how to do it.

Types of performance tests:

Benchmark test; stress test; load test; concurrency test; fatigue test; data volume test; reliability test; throughput; response time; number of concurrent users; hits per second; resource utilization; error rate.

Chapter 10 Web Application Testing

Types of Web Application Testing:

Functional test; Link test; Form test; Cookies test; Database test
Performance test: Connection speed test; Load test; Pressure test
User interface test: Navigation test; Graphics test; Content test; Table test; Overall interface test
Compatibility test: Operation System Compatibility Test; Browser Compatibility Test; Resolution Test; Printer Test
Security Test: sql injection xss permission repeated submission of script error
Selenium
insert image description here
insert image description here
insert image description here

Guess you like

Origin blog.csdn.net/qq_51344334/article/details/112305294