What is software testing? Through testing, it is found that there is a deficiency in the software. The technology of the testing software is divided into two types: black box testing and white box testing. After the black box and white box are used for different types of tests such as clustering, causality and branch coverage in white box testing, etc., these different tests can be used to find out the deficiencies in the software to allow software development. The engineer improved again.
Second, software testing needs to organize the findings into reportsThe work of software testing also includes collating the discovered issues into a report, submitting them to a development engineer, and repairing the software after confirmation. For the question of what software testing is, we also need to understand that testers should use professional terminology when organizing reports. At the same time, they must have good verbal skills and strong language organization skills. Only in this way can they discover Defects or inadequacies are clearly and clearly expressed, allowing developers to better repair the software.
Third, testers need to analyze the quality of the softwareWhat is software testing? What kind of work content is included? In addition to testing the software deficiencies, but also to analyze the quality of the software, you need to analyze the results of the test to calculate the software defect rate and distribution of defects, as well as the trend of software repair. Test engineers need to give specific measurements of various quality characteristics of the software, such as functionality, reliability, and ease of use, and come to a conclusion to the software development engineer.
Complete testing of data and databases refers to the testing of relational database integrity principles and data rationality testing.
The integrity of the database is:
Master code integrity: The master code cannot be null;
Outer code integrity: The outer code must equal the corresponding master code or be empty.
Data rationality refers to whether the type, length, and index of data in the database are more reasonable.
In the project name, the database and database processes should be tested as a subsystem. When testing these subsystems, the test object's user interface should not be used as an interface for data. For database management systems (DBMS), further research is needed to determine the tools and technologies that can support testing.
2. White box testingWhite-box testing is code-based testing. Testers judge software quality by reading program code or by using single-step debugging in development tools. Generally, black box testing is implemented by project managers in programmer development. White box tests are divided into dynamic white box tests and static white box tests.
3. Functional testFunctional testing is to test whether the software function modules are correct and the logic is correct.
Functional testing of test subjects should focus on all test requirements that can directly trace use cases or business functions and business rules. The goal of this test is to verify that the data is accepted, processed, and retrieved correctly, and that the implementation of business rules is appropriate. This type of testing is based on black box technology that interacts with applications through a graphical user interface (GUI) and analyzes the output or results of interactions to verify the application and its internal processes. The main reference for functional testing is a document similar to a functional specification.
4.UI testUI test refers to whether the style of the test user interface meets customer requirements, whether the text is correct, whether the page art is beautiful, whether the combination of text and pictures is perfect, whether the background is beautiful, and whether the operation is friendly, etc.
User interface (UI) testing is used to verify the interaction between the user and the software. The goal of the UI test is to ensure that the user interface provides the user with access or browsing functionality by testing the functionality of the object. In addition, the UI test can also ensure that the objects in the UI behave as expected and meet company or industry standards. Including user-friendly, user-friendly, easy-to-operate tests. UI testing is more subjective and related to the preferences of testers.
5. Performance testPerformance testing mainly tests the performance of software testing, including load testing, strength testing, database capacity testing, benchmark testing, and benchmark testing.
6. Security and Access Control TestingSecurity and access control testing focuses on two key aspects of security:
Application-level security, including access to data or business functions
System-level security, including login or remote access to the system.
7. Failover and Recovery TestingFailover and recovery testing refers to whether the backup machine can start normally when the hardware and software of the host computer are in a disaster, so that the system can operate normally. This is very important for software in telecommunication, banking and other fields.
Failover and recovery testing ensures that test subjects can successfully complete the failover and recover from various hardware, software, or network failures that result in unexpected data loss or data integrity violations.
8. Configuration testAlso called compatibility testing. Configuration tests verify the operation of test objects in different software and hardware configurations. In most production environments, the specific hardware specifications for client workstations, network connections, and database servers vary. Client workstations may install different software such as applications, drivers, etc. and at any time, many different software combinations may be run, taking up different resources.
Failover testing ensures that, in the event of a failure, the standby system will "displace" the failed system in the event of a failure to avoid losing any data or transaction.
Recovery testing is an adversarial testing process. In this test, the application or system will be placed under extreme conditions (or under extreme conditions of simulation) to generate faults (such as device input/output (I/O) faults or invalid database pointers and off Health word). Then call the recovery process and monitor and check the application and system to verify that the application or system and data have been properly recovered. Be sure to pay attention to the master and backup backup.
The TestPlatform software test platform, abbreviated as TP, is the only software test tool that supports the entire software testing process.
The existing software testing tools in the industry are basically confined to the test execution stage and can only support the activities in the test execution stage. The three early stage activities of test analysis, test design, and test implementation lack effective test tool support and have direct impact. The integrity and adequacy of the software test will affect the quality of the final R&D software. David.yuan said: The company has used Boweifeng TP testing platform. The test coverage rate of the entire software testing process has been increased to an unprecedented height and breadth, and it can be an excellent way to achieve software security, robustness, stability and functionality. In terms of performance, even if the management and test personnel do not have many years of test experience, the TP test platform can be used to intelligently manage, design, analyze, and execute the entire test process and achieve the results achieved by first-class test management experts.
Introduce defect analysis
In the industry, various effective defect analysis models were first introduced into the software platform, including ODC analysis, Gompertz analysis, Rayleigh analysis, four-quadrant analysis, defect injection analysis, and DRE/DRM engineering methods to help managers establish software development processes. Quality baseline, test capability baseline, and help managers compare and analyze actual project deficiencies, capability data, and baseline data, identify improvements in the software process, determine whether the test can be exited, whether the software can be released, and the software The number of defects is predicted;
Using theoretical analysis
Established a theoretical framework and a set of engineering methods for test analysis and design, which can well support the auxiliary analysis and design of the test;
Establish test relationships
Establish the test track relationship of "Development Requirements Item -" Test Item - "Test Sub-item -" Test Case - "Defect", which can timely reflect the impact of development requirements and design changes on the test, and ensure software consistency and testing. The adequacy of the software to ensure the quality of the software;
Use management tools
Can fully manage the software quality work, has a high degree of integration, a TestPlatform can complete a variety of other types of related quality management tools can be integrated together to complete the software quality management. It integrates software quality-related processes such as demand tracking, static testing, dynamic testing, tester management, test environment management, test plan management, test case management, defect management, and defect analysis.
AutoRunner is the country's first automated testing tool that can be used to perform functional tests, regression tests, daily build tests, and automated regression tests. Is an automated testing tool with scripting language that provides IE-testing and Windows native testing with script-complete tracking and debugging capabilities.
TestCenter is a powerful test management tool that helps you: Implement process management for test cases, manage test processes, test case design processes, and business component design and implementation processes. Standardizing test cases means that each tester can understand and use standardized test cases, reducing the dependence of test cases on individuals; providing reuse of test cases, use cases, and scripts can be reused to protect tester assets Provide a scalable test execution framework, provide automatic test support; provide test data management, help users agree to manage test data, reduce the coupling between test data and test scripts.
TAR (Terminal AutoRunner) applies to standard application systems such as VT100 and VT220, supports command line mode and window mode (applications written using Cursors), supports automatic recording of scripts, WYSIWYG resources and script editing, and stable automatic synchronization. Features. It is currently the best banking business testing tool in China.
TestDirector is an enterprise-level test management tool produced by MercuryInteractive Inc., the world's largest provider of software testing tools. It is also the industry's first Web-based test management system that can perform global-scale test management within or outside your company. TestDirector greatly speeds up the testing process by integrating all aspects of test management in an overall application system, including requirements management, test plans, test execution, and error tracking.
Unit testing, also known as module testing, is the testing of the correctness of the minimum unit program module for software design. The unit testing needs to design the test cases from the internal structure of the program. Multiple modules can perform unit testing independently and in parallel.
(a) Unit testing content:1, module interface test
Dealing with data flow through the measured module
Whether the number of input parameters and the formal parameters of the module are matched when calling the measured module
When the measured module calls a sub-module, whether the parameters of the input sub-module and the sub-module's formal parameters match in the number, the attribute, and the sequence.
The number, attributes, and order of the parameters output to the standard function are correct.
The definition of global variables is consistent in each module.
When the module performs input/output operations through an external device, the file attributes are correct, the open and close statements are correct, the specified I/O format specification and the I/O statement match, and the buffer size matches the record length. Whether the file was opened before, whether the file was closed after reading and writing, and whether the I/O error was handled.
2, the local data structure test
Local data structure is the most common source of error
Inconsistent data types
Incorrect or inconsistent data description
Use variables that have not been assigned or have not yet been initialized
Wrong initial value or wrong default value
3, path testing
Prioritization of operations, common comparisons, and control flow
4, error handling test
Meet the conditions of the error, and set the appropriate error handling
5, the border test
For example, the number of cycles, the maximum or minimum value
(b) Unit testing procedures:Design test cases using design documents;
Create a module or driver module for the module under test;
Use test modules, driver modules, and stubs to create a test environment for testing
Drive module: equivalent to the main program of the tested module, it receives the test data, transmits the data to the tested module, and finally outputs the actual result.
Pile module: used to replace the sub-module called by the measured module.
Second, integration testingAlso known as assembly test or joint test, on the basis of unit testing, all modules need to be assembled according to the requirements of the outline design specification and detailed design specification.
When connecting each module, the data passing through the interface of each module will be lost
Does the functionality of one module adversely affect the functionality of another?
After each sub-function is assembled, whether the expected parent function can be achieved
Is there a problem with the global data structure?
Whether the error generated by a single module will be magnified
Module assembly into a system: one-time assembly and multi-type assembly
(A) Disposable assembly methodFirst test the modules separately and then test all the modules.
Disadvantages: I found it not easy to locate the wrong
(B) Value-added assembly testingFirst, we test modules one by one, and then gradually assemble these modules into a system. There are two ways: top-down proliferation and bottom-up proliferation.
1, from the top of the proliferation method (do not need to drive module)
The module ammonium system program structure, strict control of the level from top to bottom assembly.
Firstly, the main module is used as the tested module and the drive module. All subordinate modules of the direct main module are replaced by the pile module and the main module is tested. Then use a depth-first or breadth-first strategy, replacing pile modules with actual modules, and then replace their direct subordinate modules with pile modules, and form new sub-systems with already tested modules. Then perform a regression test.
2, bottom-up proliferation method (does not require a driver module)
The drive module controls the parallel test of the bottommost module.
3, mixed proliferation
The top-down breeding method:
Advantages: Early detection of major control issues
Disadvantages: Need to establish a pile module, adding some additional tests, involving the algorithm and the input and output modules are generally at the bottom, these low-level modules to assembly and testing can only be discovered later. If you find a problem, there will be too much regression testing.
Bottom up breeding method:
Advantages: There is no need to establish a pile module. It is much simpler to establish a driver module than to build a pile module. At the same time, the module that is close to the input and output of the algorithm must be tested first, and the part that is most prone to problems is solved in the early stage.
Disadvantages: The program has not been able to exist as an entity until the last module is added to form an entity, and the control aspect can only be contacted.
(III) Marks of Integration Test Completion1. Successfully performed all the integration tests specified in the test plan
2, modified the error found
3, test results through the panel's review
4, the integration test needs to submit the test report:
5, integrated test plan, integration test specification and integration test analysis report
Third, confirm the testThe goal of the validation test is to verify that the functionality and performance of the software and other features are consistent with the user's requirements. Verification tests typically include validation tests and software configuration reviews. It is usually conducted by a third-party testing agency.
(I) Conducting a validity testThe software now confirms passing a series of black box tests. Confirmation testing also requires the development of a test plan and process. The test plan should specify the type of test and the progress of the test. The test process defines some special test cases to illustrate whether the software is consistent with the requirements.
No plan or process should focus on whether the software meets all the features and performance specified in the contract, whether the documentation is complete, accurate human-machine interface, and other aspects (for example, portability, compatibility, error recovery, and maintainability). Etc.) Whether to satisfy the customer.
There are two possibilities for confirming the test result. One is that the function and performance indicators meet the requirements of the software requirement description, and the user can accept it;
The other is that the software does not meet the requirements of the software requirement description and cannot be accepted by the user. When the project reaches this stage, it only discovers that serious errors and deviations are generally difficult to correct within the scheduled time limit. Therefore, it is necessary to negotiate with users to find a proper solution to the problem.
(B) Review of Software ConfigurationEnsure that all components of the software configuration are complete and the quality meets the requirements. The procedure specified in the user's manual and operation manual should be followed.
Fourth, system testingSoftware, as part of a computer system, is combined with hardware, networks, peripherals, supporting software, data, and personnel to test computer systems in actual or simulated environments.
The purpose is to compare the system requirements and find problems
Fifth, acceptance testUser-oriented testing, software developers and quality assurance personnel participate in the design of test cases.
Instead of performing full coverage testing on the system, the core business process is tested.
Natural Gas Generator,Natural Gas Power Generator,Natural Gas Electrical Generator,Power Generator Natural Gas
Jiangsu Vantek Power Machinery Co., Ltd , https://www.vantekpower.com