Software Testing Basics (excerpt)

Source: Internet
Author: User

First, the basic concept of software testing

1. Software = program + documentation, software test = program Test + Test documentation.

"Software" means a collection of instructions capable of achieving a function, "documentation" refers to a collection of texts produced during the development, use, and maintenance of the software.

2. Software classification

by function: System software, application software

According to the technical framework: stand-alone version of software, C/s structure software, b/s structure software (browser)

User points by Usage: Product software, project software

By size: small, medium, large

Definition of 3.BUG

Bugs in software refer to issues that do not meet customer requirements in software, including programs and documents. Common three kinds of bugs: completely did not realize the function, the basic realization of the customer needs of the function, the realization of the user does not need the function.

4. Classification of the test environment: software development environment, software production operation environment. Test environment = Software + Network + hardware, build the environment: real, clean, non-toxic, independent.

5. Test case: Refers to a set of detailed test scenarios designed prior to the execution of the test, including the test environment, test steps, test data, and its results! Test Case = input + output + test environment. The test case has two templates, Word and Excel, which are suitable for performance testing, which is suitable for functional testing.

Second, software testing classification

1. Black box test: The software is measured as a box, we do not have to care about what is inside the box, just put things and then take out things, as in the test only concerned about the software input data and output results.

2. Lily Test: We need to know what is inside the box, to study the source code and the structure of the program.

3. Static testing: Do not actually run the software under test, but only check the program code, interface or documentation for errors that may exist.

4. Dynamic test: The actual running code, enter the corresponding test data, check the actual output and expected results are consistent. Judging whether a test is a dynamic or static test, you can see if it runs the program.

Note: The same test, which can be either black-box or dynamic, may be static or white-box testing. There may be a cross between them.

5. Unit test: Dynamic test, static test, compile run program

6. Integration testing: The next phase of unit testing means that the unit module is assembled into a system or subsystem through the test, and then tested to focus on the interface of the different modules.

7. System test: The software system as a whole to test, including the function, performance, and software run the hardware environment to test.

8. Acceptance test: In the late system testing, the user testing mainly, 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.

The acceptance test is divided into alpha and beta tests, and alpha testing refers to internal testing involving users, testers, developers, etc. Beta test refers to the test after the beta, completely to end-user testing.

9. Functional testing: It is a black box test, it checks whether the function of the software meets the needs of users. Functional testing can be subdivided into many kinds: logic function test, interface test, usability test, installation test, compatibility test, etc.

10. Performance test: It includes many aspects, mainly in the time performance and space performance test two kinds. Time performance: mainly refers to the corresponding time of a specific business of the software. Space performance: Mainly refers to the system resources consumed by the software during operation.

Software performance tests are divided into general, stability, load, and stress tests.

General testing: A test that allows the system to operate under normal hardware and software conditions without exerting any pressure on it.

Stability test: That is, the reliability test, refers to the continuous operation of the system to detect the stability of the system operation. We often use MTBF (the average time interval for errors) to measure the stability of the system and the greater the stability.

Load test: The system is tested for stability by means of continuous operation within its tolerable limit range.

Stress testing: A continuous increase in pressure on the system under test, knowing that the system being tested is crushed to the maximum pressure that the system can withstand.

Suppose a very easy to be able to be a bag of rice, back two bags of rice very hard, up to three bags back, then:

General test: I'll let him carry a bag of rice.

Stability Test: Let him carry a bag of rice, but let him go to the playground to run laps to see how long you tired.

Load test: Let him carry two bags of rice to the playground to run a circle, see how long he tired down.

Stress test: Let him carry two bags of rice, three bags of rice, four bags of rice ... Finally found that he can carry a maximum of three bags of rice.

11. Regression testing: When testing a new version of the software, repeat the previous version of the test case.

12. Smoke test: Before a large-scale test of the new version, first verify that the basic functionality of the software is still there, whether it is measurable.

13. Random test: Refers to all the input data in the test is randomly generated, the real intention is to simulate the user's real operation, and found some edge problems.

Third, the test engineer

1. Have the basic professional quality: half-hearted one ability. Three hearts: carefulness, patience, confidence, two meanings: Service consciousness, team consciousness; one ability: communication ability.

2. How to be a good test engineer:

Internal strength: The basic knowledge, including computer hardware, network, operating system, database and so on.

Test technology: Black box Test medium Order class, boundary value, causality diagram, white box test in the statement coverage, branch coverage, path coverage and so on.

Constantly learn to recharge, read the original books, read the system reports in the defect management system, read the test cases written by the master, and learn about the product-related business knowledge.

3.SQA: Software Quality assurance, the CMM is a standard quality model used by SQA to oversee the project, SQA to test a wide variety of projects according to its various rules. CMM: Competency Maturity Model.

4. Principles of Software Testing:

1) Zero BUG: Refers to the software does not have a bug. (No bug is impossible, we can only find ways to control the number of bugs in the scope of tolerance.) )

Good enough: it is possible to stop testing as long as the software meets certain quality requirements.

2) do not attempt to exhaustive the test.

3) A developer is neither an athlete nor a referee.

4) Software testing should be implemented as early as possible.

5) Software testing should be traceable to requirements.

6) Defects of the 28 theorem: Defective cluster phenomenon or insect nest phenomenon.

7) The defect is immune.

Classification of 5.BUG

Bug severity: Severity, refers to the extent to which the failure caused by a defect affects the SOFTWARE PRODUCT. specified by testers.

A: Such bugs cause crashes, product failures ("crashes"), system inability to operate, and so on.

B: The feature is not implemented or causes an attribute to not run and there is no alternative (including a calculation error).

C: Cause a feature to not run but there is an alternative.

D:bug is superficial or small (the information is less accurate and friendly, typos, UI layouts or rare faults, etc.), with little impact on functionality, and products and attributes are still available.

E: Constructive suggestions or comments.

Bug Priority: The level of urgency that a defect must be repaired. Assigned by the bug Issuer (Development group leader/manager).

5: Fix It now to prevent further testing with this closely related feature.

4: Must be modified, before the release must be modified.

3: Must be modified, not necessarily immediately modified.

2: If time permitting should be modified.

1: Allow no modification.

6. Type of defect: the type of defect divided according to the natural attributes of the defect.

Bulid: Error caused by configuration library, change management, or versioning.

Data: Database, calculation error, and so on.

Function: It affects important features, product interfaces, hardware architecture interfaces, and global data structures. such as logic, pointers, loops, recursion, functions and other defects.

Interface: An interface flaw that interacts with other components, modules, or device drivers, invocation parameters, control blocks, or parameter lists.

Performance: does not satisfy the system measurable property values, such as: Execution time, transaction efficiency and so on.

Reqiurement: Defects in demand, such as: unclear, wrong, not comprehensive consideration.

User Interface: Human-Computer Interface: screen format, page layout, control location and other aspects of the defects.

Other: Unknown error.

7.BUG State (status)

Refers to the progress of a defect through a repair process. Includes open, Fixed, closed, and postponed states.

Open: The flag used by testers to submit newly discovered issues. Or a flag used by the task-assigned person to prepare the issue for modification and to modify the issue to a point. The programmer does not need to be in control of bugs that do not enter this state.

Fixed: The status of the flag after the developer has modified the issue, has not been tested after the modification.

Closed: Passes the flagged state after the tester has validated the modification issue. Changed by testers.

Postponed:1. Due to the development time, progress, importance or technology, design, requirements and other aspects of the reasons, that can not be resolved, need to delay the resolution, or this version does not resolve, until the subsequent version to resolve. 2. Cannot be modified due to design structure problems. Testers think it is not logical, but also does not meet the user's requirements, but the developers believe that the death in accordance with the design, can only do so, or the cost of the modification is too large, this problem can be dragged after processing.

Duplicated:bug is repeatedly submitted.

Not error: The tester understands the error, not the bug.

8. Submit Bug Notes: Make sure to reproduce, to use a minimum and necessary steps to describe the bug, concise and complete, a bug a report.

9. Common Bug Management tools: TD, Track Record, Clearquest, Bugzilla, Mantis, JIRA.

Iv. introduction of software testing tools

1. General Software Testing tools: black box test tools, Lily test tools, test management tools.

2.MI LoadRunner: Performance test. MI WinRunner: Functional Test. MI Testdiretor: Test management tool. MI QTP: Functional Test Tool

    

    

Software Testing Basics (excerpt)

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.