Fundamentals of Software Testing (summary)

Source: Internet
Author: User
Tags manual documentation

1. Three elements of the software: program (code that implements a specific function) document (support code run) data (support program run everything about)

2. The product quality of the software refers to the. 1) quality refers to the synthesis of entity properties, indicating the ability of entities to meet explicit or implicit requirements.

3. The purpose of software testing: 1) To verify whether the software meets the software development contract or project development plan, System/Subsystem design documents, software requirements specification, software Product description and other requirements of the software quality requirements 2) through the test, the discovery of software defects 3) for the SOFTWARE PRODUCT quality measurement and evaluation to provide a basis

4. The standard 4 procedures for software testing, and corresponding explanations 1) test planning: As long as the requirements for testing and the preparation of the test Plan 2) test design: According to test requirements, analysis and selection of test cases, or design a new test case, before entering the next phase of work, should pass, Test readiness review 3) test execution, execute test cases, obtain test results analysis and determine design results 4) Test Summary: Collate and analyze test data, evaluate test results and software items tested, describe test status, Finalize software test report and pass test review

5. Basic principles of test case design, 1) principles based on test requirements 2) principles based on test methods 3) Principles of testing adequacy and efficiency 4) The principle of reproducibility of execution cases

6. What is the equivalence class partitioning method.

Definition: Equivalence class division is based on the analysis of requirements specification, the input field of the program is divided into several parts, and then select the representative data in each section to form a test case

Step: A) dividing the effective equivalence class, the specification is a meaningful set of input data

b) Dividing invalid equivalence classes, which constitute a collection of meaningless and unreasonable input data for specification

c) Define a unique number for each equivalence class

d) Design a set of test cases for each equivalence class to ensure that the corresponding equivalence classes are overwritten

6. What is the boundary value analysis method.

Definition: Boundary value analysis method is to test the boundary value of the use of data equal to greater than or less than the boundary value of the methods of testing the program is the boundary value analysis method.

Step: A) Identify all possible boundary conditions by analyzing the specification

b) input data that satisfies and is not satisfied with each boundary condition

c) Design the appropriate test cases

Calculation errors can be found for inputs that satisfy the boundary values, and domain errors can be found for unsatisfied inputs

7. The internal quality of the software, which can be explained by which six characteristics.

Six main features:

Functionality: When software is used under specified conditions, software products provide the ability to meet clear and implied capabilities, including suitability, accuracy, interoperability, security confidentiality, compliance

Reliability: The ability of a software product to maintain a prescribed level of performance when used under specified conditions, including, maturity, fault tolerance, recoverability, compliance

Usability: The ability to use software products under specified conditions is understood to be learned to use and to attract users, including easy-to-learn and easy-to-operate attractive compliance

Efficiency: The ability of the SOFTWARE PRODUCT to use the appropriate number and type of resources when performing its functions under specified conditions, including resource utilization and efficiency compliance,

Maintainability: The ability of software products to be modified may include corrections to improve the software's adaptation to environmental requirements and functional specification changes including, ease of analysis, variability, stability, ease of testing, compliance

Portability: The ability of software products to migrate from one environment to another, including adaptability, ease of installation, coexistence, ease of substitution, and portability compliance.

8. What tests can the software be divided into by life cycle? Unit test, integration test, configuration item test (also known as Software qualification test or validation test), system test, acceptance test.

Regression tests can be distributed across each of these test categories, throughout the software life cycle, so they are individually categorized,

9. Each phase of the test is based on what the document is. Unit tests: Software design documentation. Integration testing: Software Architecture design documentation. Configuration item Test: Requirement Specification (interface Requirement specification). System testing: User requirements (development contract or system requirement). Acceptance testing: Software development contract (user requirements or system requirements)

10. What are the entry and exit conditions for the software?

Access conditions: 1) have a test contract (or project plan)

2) A variety of documents required for software testing

3) The tested software submitted is controlled

4) software source code correctly compiled or compiled

Quasi-conditions: End the software testing work should generally meet the following requirements

1) The Software testing tasks stipulated in the contract (or project plan) have been completed as required

2) The actual testing process follows the original software test plan and software test instructions.

3) Objectively and thoroughly record all the problems found in software testing process and software testing

4) Software Testing documentation complete compliance with specifications

5) The whole process of software testing is under control

6) The problems or anomalies in the software testing are reasonably explained or correctly and effectively handled,

7) Software testing work passed the test review

8) All test software, tested software, test support software, and review results are included in configuration management

11. What is static testing and what is dynamic testing.

1) Static testing: Also known as static analysis of the end, the basic feature is not to perform the test software, according to the inspection list, the requirements analysis manual, software design instructions, source program to do structural inspection, flow chart analysis and other software errors, static testing generally use manual analysis (for documents), You can also use the Static Analysis test tool (code scan)

2) Dynamic testing: Its basic feature is the execution of the tested program. Through the implementation of the results, analysis of software errors may occur, generally by the manual design program test cases, can also be tested by testing tools and analysis.

12. What is the purpose of regression testing?

1) After testing the software changes, the correctness of the changes to the change requirements of the compound type

2) test software changes after the original correct functional performance and other provisions of the requirements of non-damage.

13. What is a black box test and what is a white box test?

1) Black box testing: Also known as functional testing, data-driven testing, or specification-based testing, this test does not need to understand the internal logical structure of the object, but rather the design of the test case according to the functionality in the requirements specification

2) White box test: Also known as the structural test. Logic test or program-based testing, this test should understand the internal structure of the software program, and design test cases according to the internal structure.

General unit tests use white-box testing, configuration items or systems with black-box testing.

14. The difference between software commissioning and testing.

Debug: Locate the error and modify these errors

Testing: Discovering defects in software and improving software quality

15.4 Basic preparatory activities for software testing.

1) Preparation of the software environment (clean and pure operating system)

2) software is not familiar to Android (server operation Linux Operations database, Jeeweb Environment, Tomcat. NET environment IIS)

3) Preparation of test data

4) Business Operation process.

16. What is a baseline. has been formally approved by the software phased product, is a phased development version, is a milestone of the phased version, this version, can be used as the basis for the next development.

17. Continuous integration Testing

1) For each version of the gray box test that is about to become the limit,

2) this morning and ongoing software testing

18. Smoke test: During the period of time for a module "new module or just modified module" to carry out a special test (functional test),

19. Regression test: For a long time, for a specified version of the "newly added module and other modules related to him for the specific testing activities"

20. Software Testing

A: Basic theory of functional testing

1. Test requirements: Test specifications, the main role is to define the modules to be tested and functional modules of the test points

2. Test plan: The programmatic document in the test process, the test environment in the test activity, the test method, the test time personnel arrangement.

3. Test case: is a refinement of the test requirements, is a collection of elements, mainly includes, use case number, operation steps/test data, expected results, actual results, judgment, coverage requirements.

4. Bug Report: Compare the actual situation of the software with the expected results of the test case and document the problem report form.

5. The basic process of testing: four processes, test planning, test design, test execution, test summary

6. Documentation required for testing: test requirements, test plans, test cases, bug reports, test reports (possibly written)

7. Definition of software Testing: the official definition: under the specified conditions, the software program to operate, in order to find the error for the purpose of the software quality evaluation, thereby improving the quality of software. The teacher gives the test definition: is in the Unknown software, the program module, a version whether there are errors in the case, from the customer's point of view, according to the requirements of specifications and other documents, select a scientific method, design the correct business operation process, as much as possible to simulate the user of the various operations of the software, As much as possible to identify defects in the software, and the Defect Records report, submitted to the relevant developers to repair, and ultimately achieve the purpose of improving software quality.

8. The difference between testing and debugging: testing, finding defects in software, improving software quality, debugging, locating errors that have been found in the middle of the program, and modifying these errors.

9. Prior to the development of software testing, there was a basic preparatory exercise: preparation of the test environment (ensuring a clean, pure test environment), completion of software installation and deployment, preparation of test data, and familiarity with business operations processes.

10. What is a baseline: a phased product that has been formally approved by the software, is a phased development version, a milestone version of this baseline that can be used as a basis for next development,

11. What is continuous integration testing: Gray-Box testing for every version that is about to be baseline, software testing as early and ongoing as possible

12. Agile testing: Only the project team and the development process, the adoption of agile development, when the adoption of agile testing. Developers to write the requirements of the specification stage, the use of agile testing, first from the customer's communication to obtain text customer needs, the second based on the need to develop static page prototype, change the cost is small, easy, intuitive embodiment of demand, the third tester at this stage, the development needs of the needs of the review.

13. What is a smoke test: a specific test for a specific module that has just been added or has just been modified in a short time

14. What is regression testing: For a long time, for a specific module, the module that just modified the bug, and whether the module associated with it is a common database table, for special testing activities.

15. For the input box to fill in the requirements, pay attention to those collection requirements. Type length and range are special to the right, for buttons, pay special attention to the current module changes, as well as the correlation

16. For the test premise: the first is the program version number, the second is the program documentation, if there is no program documentation, you can use as far as possible, the existing documents, user manuals, as well as with the customer or development of effective communication, or according to common sense, or the same type of software, interface information, third, test data preparation and restoration

17. Browser compatibility is divided into two parts: first in different browsers, the display of the content of the page is compatible, for the quality characteristics of the easy-to-attract characteristics of the project for non-functional characteristics, test requirements and test case of the writing, followed by the use of the browser, the page function is compatible, suitable for the quality characteristics of easy to operate fault tolerance , test requirements, and test case writing.

18. Software testing according to the technical classification: 1 black box, black box test, also known as functional testing, or data-driven testing or to give the specification of the test, this test, do not have to understand the internal code of the program, but rely on the function in the requirements specification to design test Case 2) white box; white box testing is a code-based test is a test case design method, known software internal work process, through testing to prove whether the internal operation conforms to the design specifications, he by checking the internal logic structure of the software, the logical path in the software to cover the test, in different places of the program to set up checkpoints, check the program running state is consistent. 3) gray box; Agile thinking, continuous integration, multiple iterations, such as white box static scanning, and black box dynamic use case design

19. Software testing is divided into phases: unit test, integration test, System test, validation test (software qualification test and configuration item test), System test, acceptance test.

20. Software testing by Method: Static testing, dynamic testing

21. Software tests are categorized by features: GUI interface Testing (usability), compatibility testing, help with document testing, performance, load testing, stress testing.

22. Model of software Testing (guiding test implementation workflow)

23. Software Test Model v Model: Refine the test activity and test the first stage

24. Software test Model W Model: Refine test activity, test work ahead, test early

25. Software Testing Model Helix Model: Refine test activities, test work forward, early testing, each module development is an iterative process, customer assessment, emphasizing the user's participation in communication

26. Software test Model H model: Weaken the document, flexible, each module development testing flexibility, test preparation (in no particular order), test execution, to reach the test readiness point, use case execution, can be modified. Test plans are carried out in software testing activities and can also be modified

27. Black box test requirements collection and use case writing need to focus on those places. Input

Prevent the importation of illegal data, from requirements collection and use case design, length or range types and special requirements "click" on the implementation of business functions, from requirements collection and use case design "expected results"; current module dependencies.

28. Black box test: Function Module additions and deletions change

Contents of "Add Module" form, INPUT element value fixed (default) valu random (length type required) Click Element, Current module dependency

"Modify module" first query after change (add requirements) 2 steps

"Delete module" SELECT data and click Delete, 1) whether there is deletion hint 2) Delete reference 6 use Cases

"Query Module" 1) can be based on the query criteria to find exactly what to query 2) length of less than 3) type non-numeric, number, Time (bug) 4) Special requirements special characters, 5) Orthogonal method use Case number fixed

29. What is a good test case. First write based on the requirements based on the method of balancing efficiency embodies reproducibility, then, this use case can help to discover new bugs

30. What are the advantages of the test process management tool compared to hard disk protection? The Web page form fills in the database saves, facilitates the content to save collects, the statistic, the resources to share, this kind of management tool many, QC/TD (fame), Bugfreee, Zen Road, or the enterprise own development.

31. What are the categories of bugs,

1) By design This is the case

2) Duplicat repeatedly submitted bug

3) A bug not repro cannot reproduce is called three invalid bug.

A) Externa due to external factors (browser operating system, third party)

b) Fixed issue modified

c) Postponed, deferred processing of subsequent versions

d) won ' t fix is a bug too small and not worth modifying. Called Four valid bugs

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.