Software "Software":
Software (software) is a part of a computer that is combined with hardware (hardware), including programs and documents. Represented by an equation: Software = program + documentation. Wherein, "program" refers to the ability to achieve a certain function of the set of instructions, such as C language programs, Java programs, etc., "documentation" refers to the software development, use and maintenance process generated by a collection of graphics, such as "System Requirements Specification", "User manual", readme, and even some software marketing literature, Packaging text and graphics, and so on.
Note: Software testing is never the same as program testing, and document testing is an important part of software testing. Usually, the program test mainly includes the program logic function, the interface, the performance, the usability, the compatibility, installs and so on the test, the document test mainly includes the document content and the check, the typesetting style examination, the typo's verification and so on "
Client/server "C/S":
C refers to the client, s refers to the server side (server), the software is based on the local area network or the Internet, requires a server to install server-side software, each client needs to install the client software. For example, we often use QQ, MSN and a variety of online games belong to the C/s structure of software.
Note: c/s structure of the software used to be more popular, but not easy to upgrade and maintenance, is now gradually replaced by B/s structure software "
Browser/server "b/S":
b refers to the browser (Browser), s refers to the server (server), the software is also based on local area network or the Internet, and its junction with C/s software is the difference is that the client does not need to install, only need to have IE and other browsers, you can directly use. such as Sohu, Sina and other portals and 163 of e-mail boxes belong to B/s structure software.
"NOTE: b/s structure software is now the mainstream of software, and C/s structure software, easy to upgrade and maintenance, is the focus of testing"
Defect "Bug/defect":
Bugs in software refer to problems in the software (including programs and documents) that do not meet the user's needs.
Note: This definition is the only criterion for determining whether a software problem is a bug.
Software test "Software Testing":
The process of running or testing a system using manual or automated means. Its purpose is to test whether it satisfies the required requirements or to ascertain the difference between the expected and actual results (1983,IEEE Software Engineering standard terminology).
Test environment "Testing environment (TE)":
Software test environment is the platform of software running, including the collection of software, hardware and network. Use an equation to represent: test environment = software + hardware + network. Among them, "hardware" mainly includes PC (including brand machine and compatible machine), notebook, server, various PDA terminals, etc. "software" mainly refers to the operating system of software; "Network" is mainly for the C/s structure and b/s structure of the software.
Note: As a qualified software Testing engineer, not only to be familiar with the knowledge of software, but also to understand the knowledge of hardware and network "
Test Case (TC):
Refers to a set of detailed test scenarios that are designed before the test executes, including the test environment, test steps, test data, and expected results. Use an equation to simply represent: test case = input + output + test environment. The "input" includes the test data and the operation steps; "Output" refers to the desired result; the test environment refers to the system environment settings.
Black box test "Black-box testing":
Referring to the software being tested as a black box, we do not care about what the structure of the box is like, only concerned about the software input data and output results.
Note: Black-box testing includes both functional and performance tests.
White box test "White-box testing":
Refers to open the lid of the box to study the source code and program structure.
Grey box test "Gray-box testing":
It can be seen as a combination of black-box testing and white-box testing.
Static test "static testing":
Is the process of not actually running the software under test, but simply checking the program code, interface, or errors that may exist in the document statically.
Code Go "Walkthrough":
A method of static testing that is performed internally by the development team, using a way of explaining, discussing, and simulating the operation to find the wrong activity.
Code Review "Inspection":
A method of static testing that is performed internally by the development team, using an error-seeking activity that explains, questions, and uses an encoding template. There are generally formal plans, processes, and results reports.
Technical review "Review":
A method of static testing, conducted jointly by a development group, a test group, and a related person (QA, product manager, and so on), using an error-seeking activity that explains, questions, and uses an encoding template. There are generally formal plans, processes, and results reports.
Dynamic test "testing":
Refers to the actual running of the program, input the corresponding test data, check the actual output and the expected results are consistent with the process.
Unit Test "unit testing":
is to check and verify the smallest testable unit in the software. For example, in C, cells generally refer to 1 functions; in Java, cells generally refer to 1 classes; in graphical software, a unit can also refer to 1 windows, a menu, and so on.
Pile module "Stub":
Refers to the module that is called by the model being tested.
Drive Module "Driver":
Refers to the simulation of the module of the superior module, the driver module is used to receive test data, start the tested module, and output results.
Integration test "Integration testing":
Refers to the assembly of the Test unit module into a system or subsystem, in the test, focus on testing the interface of the different modules section.
System test "testing":
Refers to the whole software system as a whole test, including the function, performance testing, as well as the software running soft and hardware environment test.
Acceptance Test "Acceptance testing":
Refers to the system testing in the late, to the user test-oriented, or have testers and other quality assurance personnel to participate in the test, it is the software formally handed over to the user the last process.
Alpha Test:
Acceptance testing, refers to the user, testers, developers and other joint participation in internal testing.
Beta test:
Acceptance testing, refers to the test after the beta, that is, completely to end-user testing.
Functional test "function testing":
is a black box test, which checks whether the actual software functionality meets the needs of the user.
Interface Test "UI testing":
The UI is the user Interface, which is the abbreviation for the interface. In general, the software interface test cases are written separately from the software's logical functional test cases.
Ease of use test "usability testing":
It means to check the software system from the angle of rationality and convenience of software use, to discover the inconvenient users in the software.
Install test "Installation testing":
The installation test here refers to the generalized, including installation, uninstallation.
Compatibility test "Compatibility testing":
The compatibility test includes hardware compatibility test and software compatibility test; Hardware compatibility mainly refers to the compatibility of different hardware platforms, such as PC, notebook, server, etc. software compatibility mainly refers to software running on different operating systems and other software platform compatibility.
Performance test "Performance testing":
Is the test of the performance of the software, such as the speed of the running feedback, the system resources consumed and so on.
Reliability test "Reliability testing":
Also known as stability testing, refers to the continuous operation of the system under test, check the stability of the system operation. The stability of the system is usually measured with MTBF (Mean time between Failure), and the greater the MTBF, the stronger the system stability.
Load test "load testing":
is a kind of performance test, usually refers to the system tested in its tolerable pressure < limit range of continuous operation, to test the stability of the system.
Stress test "Stress testing":
is a performance test, usually refers to continuous < continuous > to the system under test to increase the pressure, until the system will be tested < pressure, to test the system can withstand the maximum pressure.
Regression test "Regression testing":
Refers to the use case when testing a new version of the software and repeatedly executing the previous version test.
Smoke test "Smoke testing": AKA: Ad-hoc
Refers to a new version of the system before a large-scale test, first verify that the basic functionality of the software is implemented, whether it is measurable.
Random test "random testing":
means that all input data in the test is randomly generated, which is intended to simulate the user's real operation and to find some marginal errors.
Software Quality assurance "Software Quality Assurance (SQA)":
To ensure that the software < development process and results meet the expected requirements, a series of procedures are established, as well as a series of activities and their results evaluated in accordance with the procedures and plans.
Software Competency Maturity Model "Capability Maturity Model (CMM)":
The CMM is a standard quality model used by SQA to oversee the project, which was developed by Carnegie Mellon University in the 80 's 20 and was initially applied to the development of the university's software projects, and was gradually promoted to mainstream industry standards. The CMM has a total of 5 levels: initial, repeatable, defined, managed, and optimized.
Valid equivalence class "Valid equivalence class":
Refers to the requirements specification, reasonable input data collection.
Invalid equivalence class "Invalid equivalence class":
Refers to the non-conformance of the requirements specification, the meaningless input data collection.
Software lifecycle "Software life cycle":
Refers to the software development and testing of the entire process, activities and tasks of the structure of the framework, from feasibility study to demand analysis, software design, coding, testing, software release maintenance process.
Black box Test Tool "Black-box testing Tools":
Refers to the test function or performance of the tool, mainly for system testing and acceptance testing, which can be divided into functional testing tools and performance testing tools.
White Box Test Tool "White-box testing Tools":
Refers to the test software source code tools, you can implement static analysis of code, dynamic testing, review and other functions, mainly for unit testing.
Test management tool "testing Management Tools":
Refers to the management of the entire test process tools, the main functions of the test Plan management, test case management, defect tracking, test report management, etc., generally throughout the software life cycle.
The correct four steps of the test work
What does the first step, establish the test scope and the object, if this step leaks, the quality of the back is completely discounted-test plan
How-to-do second, decide what testing techniques or means to test these test objects – test scenarios
When to does the third step, decide which test objects to test first and which test technology to apply first-test strategy
Automation The fourth step, as much as possible to automate the work of how-to-do, thus improving execution efficiency (just execution efficiency) – test efficiency
All the architectural and design defects of the product: exception handling, function combination processing;
The algorithm is not considered completely, and the design requirements of non-functional attributes.
The quality of demand is also dimensional: two semantics, testability, completeness, consistency, availability, necessity.
Common terminology for Software testing