Software testing methods

Source: Internet
Author: User

Beta test_beta Testing

βTestThe English version is Beta.
Testing. Also known as beta testing, user acceptance testing (UAT ).

Beta testing is performed by multiple users of the software in the actual use environment of one or more users. Developers are usually not present at the test site, and beta testing cannot be completed by programmers or testers.

Tests are performed when development and testing are complete, and the final errors and problems need to be found before the final release. This test is generally performed by the end user orOthersPersonnel completion, not by programmers or testers.

  Alpha test_alpha Testing

Alpha testing. The English version is Alpha testing. Also known as alpha testing.

Alpha testing is a test performed by a user in the development environment, or a controlled test performed by the company's internal users in the simulated actual operating environment, alpha testing cannot be performed by programmers or testers of the system.

Test the application system when system development is nearing completion. After the test, there will still be a small number of design changes. Such tests are generally completed by end users or other personnel, and cannot be completed by programmers or testers.

  Portability Test

Portability test. The English version is portability testing. Also known as compatibility testing.

Portability testing is to test whether the software can be successfully transplanted to a specified hardware or software platform.

  User Interface Test-UI Test

User Interface testing. Also known as UI testing.

User Interface. It refers to the visible appearance of the software and its underlying interaction with the user (menu, dialog box, window andOthersControls ).

The user interface test is to test whether the style of the user interface meets the customer's requirements, whether the text is correct, whether the page is beautiful, whether the text and image combinations are perfect, and whether the operations are friendly. The purpose of the UI test is to ensure that the user interface provides users with access or browsing functions through the function of the test object. Ensure that the user interface complies with company or industry standards. Including user-friendly, user-friendly, and easy-to-operate tests.

The user interface tests whether the design of the software user interface meets user expectations or requirements. It usually includes tests on menus, buttons, text, error prompts, and help information (menu and help content) in the dialog box. For example, you can test the dialog box size used to insert symbols in Microsoft Excel, whether all buttons are aligned, the font size of the string, the error message content and font size, and the toolbar position/icon.

  Smoke test

Smoke test: Smoke Testing.

The name of the smoke test can be understood as it takes a short time, and only one bag of smoke is enough. Some people think that it is an image similar to the basic function inspection of the new circuit board. After soldering any new circuit board, the system first Performs electrical check. If a design defect exists, the circuit board may be short-circuited, and the Board smoke.

The smoke test object is the version of each newly compiled software that needs to be officially tested. The purpose is to confirm that the basic functions of the software are normal and subsequent formal tests can be conducted.Work. The implementer of the smoke test is the version compiler.

  Random test

Random test. The English version is ad hoc testing.

Random tests do not contain written test cases, record expected results, check lists, scripts or instructions. The function and performance of the software are checked based on the tester's experience. Random testing is an important supplementary means to execute test cases according to the test manual. It is an effective way and process to ensure the integrity of test coverage.

The random test mainly involves a retest of some important functions of the software under test, and also includes the tests that are not covered by the current test example (testcase. In addition, software updates and new functions should be tested. Focuses on some special points, special use environments, concurrency, and inspection. Especially for the major issues found in previous testsBugTo perform another test, which can be combined with regressive testing.

  Localization test

Localization test. The English version is localization testing.

Localization is to change the software version language, suchWindowsWindows, Which is changed to Chinese, is localization. The localized test object is the localized version of the software. The purpose of the localization test is to test the Software Localization quality set for a specific target region. The localization test environment is localized.Operating SystemInstall local software on. The test method can be divided into basicFunction Testing, Installation/uninstall test, and software and hardware compatibility test in the local area. The test content mainly includes the interface layout after software localization and the language quality of software translation, including software, documentation and on-line help.

  Localization Capability Test

Localizability testing.

Localization capability testing refers to the ability to translate the user interface of a program into any target language without re-designing or modifying the code. To reduce the cost of localization capability testing and improve the testing efficiency, the localization capability side is usually carried out on the pseudo-localization version of the software.

Typical errors found in the localization capability test include hard encoding of characters (that is, the characters to be localized in the software are written inside the Code), and the country-specific value is set for the characters to be localized, when the software is running, it locates at the control position. icons and bitmaps contain the text to be localized, and the user interface of the software is inconsistent with the terminology of the document.

  International Testing

International testing. The English version is international testing. Also known as international support testing.

The purpose of internationalization testing is to test the software's internationalization support capability, discover potential problems of software internationalization, and ensure that the software can run normally in different regions of the world. The internationalization test uses each possible international input type and checks whether the product functions are normal for any region or region. The emphasis of the Software Internationalization test is to execute the input/output functions of international strings. International Test Data must contain a mix of East Asian, German, complex script characters, and (optional) English characters.

International support testing is to verify that software programs run as expected on platforms in different countries or regions, and that common local dates and fonts can be used to respect and support the original design, text representation, special format, and so on. For example, Can Windows XP and Microsoft Word in English versions display Arabic strings? Can I use Arabic Windows XP and Arabic Microsoft Word to display Arabic strings? For example, does the Microsoft Excel dialog box in the Japanese version display the correct Japanese translation? Once it is said that testers performing international support testing often need to basically understand the language requirements and expected behavior of these countries or regions.

  Installation test

Installation test. The installation test is in English.

Installation testing is to ensure that the software can be installed in normal and abnormal circumstances, such as for the first installation, upgrade, complete or custom installation. Exceptions include insufficient disk space and a lack of Directory Creation permissions. Verify that the software runs properly immediately after installation. Installation testing includes testing the installation code and the installation manual. The installation manual provides how to install and the installation Code provides the basic data that can be run by installing some programs.

  White-box test-structure test-logic-driven test

  White box testingWhite box testing. Also known as structure test or logic-driven test.

The white box test regards the test object as an open box. When using the white box test method for dynamic testing, you need to test the internal structure and processing process of the software product, and do not need to test the functions of the software product.

The coverage standards of the white box test method include logical coverage, cyclic coverage, and basic path testing. Logical overwrites include statement overwrites, decision overwrites, condition overwrites, decision/condition overwrites, condition combination overwrites, and path overwrites.

The white box test is to know the internal working process of the product. It can be tested to check whether the internal actions of the product are normal according to the specifications. The test procedure is based on the internal structure of the program, check whether each path in the program can work correctly according to the predefined requirements, regardless of its function, the main white box testing methods include logic-driven, baseline testing, etc., mainly used for software verification.

Common white box testing tools: jtest, vcsmith, jcontract, C ++Test, CodeWizard, and logiscope.

  Black box test-function test-data drive test

  Black box testingThe English version is black box testing. It is also called function test or data-driven test.

Black box testing is a test of the software according to the specifications of the Software. Such tests do not consider the internal operating principle of the software, so the software is like a black box for users.

  Software TestingA software testing method that identifies Software defects from the user's perspective through various inputs and observations of the software's output results, regardless of how the program is implemented.

Common black box testing tools include autorunner, winrunner, and LoadRunner.

  Automated Testing

Automated Testing.

Automated testing tools are used for testing. Such tests generally do not require human intervention and are usually used in Gui, performance, and other testing and functional testing. Record the test script and run the script to automate the test process. Zezhong software is a leading provider of automated testing services in China. Automated testing tools include autorunner and tar.

  Regression testing

Regression testing. The English version is regression testing.

Regression testing refers to re-testing previous tests after a change to ensure the correctness of the changes. In theory, regression testing is required for Software Generation of new versions to verify whether errors found and fixed previously occur again on the new software version.

Perform the test again based on the repaired defects. The purpose of regression testing is to verify that the defects that have been fixed before do not reappear. It generally refers to re-testing a known corrected Defect Based on its original steps. It is usually difficult to determine the scope of the required retest, especially when the product release date is approaching. Because the source code must be changed to correct a defect, it may affect the functions controlled by the source code. Therefore, when verifying repaired defects, you must not only follow the steps for re-testing when the defects originally occurred, but also test all functions that may be affected. Therefore, automated tests for all regression test cases should be encouraged.

  Acceptance Test

Acceptance Test: acceptance testing.

Acceptance testing refers to a stage of the system development lifecycle methodology. At this time, the relevant users or independent testers test and receive the system according to the test plan and results. It allows the System user to decide whether to receive the system. It is a test to determine whether the product meets the contractual or user-defined requirements.

Generally, there are three acceptance testing strategies: formal acceptance, informal acceptance, Alpha testing, and beta testing.

  Dynamic Testing

Dynamic test. The English version is moment testing.

Dynamic Testing is to test the correctness of dynamic behaviors and running results of software by running software.

Based on the stages and functions of dynamic testing in software development, dynamic testing can be divided into the following steps:

1,Unit Test

2. Integration Testing

3,System Test

4. Acceptance Test

5. regression testing

  Exploration Test

Test discovery. The English version is exploratory testing.

Test discovery refers to testing that is commonly used without a product specification. This requires the software to be viewed as a product specification, and the software features should be explored step by step to record the software implementation and describe the features in detail, comprehensive use of static and dynamic technologies for testing. Discovery testers only rely on intelligence, insight, and experience to determine the location of bugs. Therefore, discovery testing is also called free form testing.

  Unit Test

Unit test. unit testing is used in English.

Unit testing is a minimal test to test a function or code block. Typically, programmers rather than testers need to know the details of internal program design and coding. This work is not easy to do unless the application system has a well-designed architecture; you may also need to develop test drive modules or test kits.

  Integration Test

Integration test. The English language is integration testing.

Integration testing refers to the joint testing of various components of an application system to determine whether they can work together without conflict. Parts can be code blocks, independent applications, clients on the network, or server programs. This type of test is especially related to the client server and distributed system. Before integration testing, unit testing must be completed.

Integration testing is a logical extension of unit testing. The simplest form is to combine two tested units into one component and test the interfaces between them. In this sense, components refer to the integration and aggregation of multiple units. In practical scenarios, many units are combined into components, and these components are aggregated into a larger part of the program. The method is to test the combination of fragments and expand the process to test your modules with modules in other groups. Finally, all modules that constitute the process are tested together. In addition, if a program is composed of multiple processes, test them in pairs instead of testing all processes at the same time.

Integration Testing identifies problems with the combination unit. By using a testing plan that requires testing each unit before the combination unit and ensuring the viability of each unit, it can be seen that any errors found during unit combination may be related to interfaces between units. This method reduces the number of possible cases to a simpler analysis level.

  System Test

System test. The English version is system testing.

System testing is a black box testing based on the overall requirement specification of the system and should cover all the components associated with the system. System testing is a test of the entire product system. It aims to verify whether the system meets the definition of the requirement specification and find out the places that do not match or conflict with the requirement specification.

The system test object includes not only the software of the product system to be tested, but also the hardware, peripherals, and even some data, some supporting software and interfaces on which the software depends. Therefore, software in the system must be combined with various dependent resources for testing in the actual operating environment of the system.

  End-to-End Testing

End-to-end testing.

An end-to-end test is similar to a system test. The test-level "grand" endpoint involves all the tests that simulate the situation when the entire application system environment is used in a real world. For exampleDatabaseDialog, communicate over the network, or communicate with external hardware, application systems, or appropriate systems. End-to-end architecture testing includes functional testing of all access points andPerformance Testing. End-to-end architecture testing is essentially a "gray-box" test, a testing method that combines the advantages of white-box testing and black-box testing.

  Sound test

Sound test: sanity testing.

A sound test is an initial test to determine whether a new software version test is sufficient to perform the next major test effort. For example, if a new version of software conflicts with the system every five minutes, causing the system to get stuck, it means that the software is not "sound" and is currently not qualified for further testing.

  Failure Test

Failure Test: failure testing.

Failure testing refers to a "retest" after the software or environment is repaired or corrected ". It may be difficult to determine how many times a test is required. Especially when the development cycle ends. Automated testing tools are especially useful for such tests.

  Acceptance Test

Acceptance Test. The English version is accept testing.

Acceptance testing is a final test based on the specifications of the customer or end user, or based on the use of the user for a period of time, to see if the software meets the customer's requirements. Generally, the function, user interface, performance, and business relevance are tested.

  Load Testing

Load Testing: load testing.

Load Testing is used to test the performance of an application under heavy loads. For example, to test when a web site is under heavy load, the system response degrades or fails to detect design errors or verify the system's load capacity. In such a test, the test object will assume different workloads to evaluate and evaluate the performance and behavior of the test object under different workload conditions and the ability to continue normal operation.

The purpose of the load test is to determine and ensure that the system can still run normally when it exceeds the maximum expected workload. In addition, the load test also evaluates performance characteristics, such as response time, transaction processing rate, and other time-related aspects.

  Force test

Force test. The English version is force testing.

Force testing is a term that is often used in alternate load and performance tests. It is also used to describe tests such as system function tests under unusual heavy loads, such as a certain action or a large number of input duplicates and a large amount of data input, A large number of complex queries are performed on a database system.

  Stress Testing

Stress Testing: stress testing. Similar to load testing.

Stress testing is a basic quality assurance behavior and is part of every important software testing task. The basic idea of stress testing is simple: it is not to run manual or automatic testing under normal conditions, but to run the test under the condition of a small number of computers or a lack of system resources. Generally, resources for stress testing include internal memory, CPU availability, disk space, and network bandwidth. Concurrency is generally used for stress testing.

  Performance Testing

Performance test. The English version is performance testing.

Performance testing is a term that is often used in alternating loads and forced tests. Ideal "performance tests" (and other types of tests) should be defined in the requirement document or quality assurance, test plan. Performance testing generally includes load testing and stress testing.

Generally, it is verified that the performance of the software can meet the performance index if it is reused in the normal environment and system conditions. Or the new version is no slower than the old version when the same task is executed. It also checks whether the system memory capacity will be lost (Memory Leak) when running the program ). For example, the verification program saves a large new version of the file, which is no slower than the old version.

  Availability Test

Availability test. The English version is practical usability testing.

Usability testing is a user-friendly test. Obviously this is subjective and will depend on the target end user or customer. User interviews, surveys, user dialogs, and other technologies are available. Generally, programmers and testers are not suitable for usability testers.

  Uninstall Test

Uninstall testing.

The uninstall test is a test of all, part, or upgrade of the software. It mainly tests whether the software can be detached, whether the uninstallation is clean, whether there are changes to the system, how to deal with the residual files in the system and the generated files. Whether or not the original system value has been modified

  RECOVERY TEST

Recovery test. The English version is recovery testing.

The recovery test is to test whether a system can be well recovered from the following disasters, such as system crashes, hardware damages, or other catastrophic problems. Recovery testing refers to detecting whether the system can be correctly restored by making software (or hardware) faulty. It usually focuses on the time required for recovery and the degree of recovery.

The recovery test mainly checks the system's fault tolerance capabilities. When a system error occurs, can the system be corrected and restarted at a specified time interval. The recovery test should first adopt various methods to force the system to fail, and then verify whether the system can be restored as soon as possible. For automatic recovery, the reinitialization, Checkpointing mechanism, data recovery, and restart mechanisms must be verified. For manual recovery systems, you also need to estimate the average repair time to determine whether it is within the acceptable range.

  Security Testing

Security Test: security testing.

Security Testing is to test how the system prevents unauthorized internal or external users from accessing or intentionally damaging the system. This may require complexTesting Technology. The security test checks the system's defense against illegal intrusions. During the Security test, the tester pretended to be an illegal intruder and tried to break through the defense line in various ways. For example:

① Try to intercept or decrypt the password;

② Dedicated protection mechanisms for software damage systems;

③ Intentionally causing system failure and attempting to illegally access the recovered machine;

④ Try to derive the required information by browsing non-confidential data. Theoretically, as long as there is sufficient time and resources, there is no inaccessible system. Therefore, the principle of system security design is to make the cost of illegal intrusion more than the value of protected information. At this time, the illegal intruder is no longer available.

  Compatibility Test

Compatibility test. The English version is compatibility testing.

Compatibility testing tests the performance of software in a specific hardware/software/operating system/network environment. Compatible with up to backward, and compatible with hardware. There are many considerations for software compatibility.

  Comparison Test

Comparison test. The English version is compare testing.

A comparative test is a comparison test with a competitor's products, such as software weaknesses, strengths, or strengths. To enhance product competitiveness.

  Acceptability test

Acceptability test. The English version is acceptability testing.

The acceptability test is a simple test of the most basic functions that is conducted before the test version is delivered to the test department for a wide range of tests. Because before you deliver the tested version to the testing department for a wide range of tests, you should first verify that the version is basically stable for the tested functions. Some minimum requirements must be met. For example, the program will not be easily suspended or crashed. If a new version does not pass the testability verification, the test department should be blocked from taking the time to test the test version. At the same time, we also need to find the major defects that cause instability of the version and urge them to fix them as soon as possible.

  Boundary Condition Test

Boudary testing. It is also called the Boundary Value test.

A black box testing method and a supplement to the moderate equivalence analysis method. It is learned from long-term testing experience that a large number of errors occur on the input or output boundary. Therefore, you can design test cases for various boundary conditions to identify more errors.

The boundary condition test is a test of the surrounding boundary value. It usually means testing whether the software functions can correctly process the maximum value, the minimum value, or the longest string that the design software can process.

  Strong Testing

Strong test. The English version is mightiness testing.

Strong testing typically verifies that the performance of the software works properly in a variety of extreme environments and system conditions. Or verify the performance of the software under various extreme environments and system conditions. For example, in the case of the lowest hard drive space or system memory capacity, the validators repeatedly open and save a huge file for 1000 times without crashing or crashing.

  Assembly/installation/configuration test

The Assembly/installation/configuration test verifies that the software program is deployed on the hardware of different manufacturers and supports the new and old versions of the platform in different languages, and software installed in different ways can run as expected. For example, install Microsoft Office 2003 in English version on Windows ME in Korean and verify that all functions are running properly.

  Static Test

Static test. The English version is static testing.

Static testing refers to the part where the test is not run, such as the test product manual, which is checked and reviewed .. Static method means that the program itself is not run, and the correctness of the program is checked only by analyzing or checking the grammar, structure, process, and interface of the source program. The static method analyzes the static characteristics of the program to find out the deficiencies and suspicious points, for example, unmatched parameters, inappropriate nested loops and nested branches, unallowed recursion, unused variables, null pointer references, and suspicious calculations. Static Test results can be used to further identify errors and provide guidance for selecting test cases.

Common static testing tools include logiscope and prqa;

  Hide data test

Hiding data testing is essential and important in the Software acceptance and validation phase. The quality of the program is not only verified by the visual data on the user interface, but also must include all the data in the system.

Assume that an application requires two pieces of information-the user name and password-to create an account. The user enters the two data and saves the data. Finally, a confirmation window will show the user name and password to the user by finding the data in the database. To verify that all data is correctly saved, a QA tester will simply check the user name and password in this confirmation window. If they succeed? Assume that the database records the third message, the creation date, which may not appear in the confirmation window but only in the archive. If the creation date is retained incorrectly, and the QA tester only verifies the data on the screen, this problem cannot be found. The creation date may be a bug. Because a user account saves an incorrect date to the database, this problem cannot be noticed because it is hidden from the user interface. This is just a simple example, but it evolved into a point: hiding the importance of data testing

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.