Software feature function test Process Analysis

Source: Internet
Author: User

Author: Cui Qiliang's original source: "China localization network www.giltworld.com" software functional feature testing is the first test type in international software testing and runs through the entire software development process, the purpose is to ensure the quality from all aspects of the software to ensure that the software features meet the software design requirements and functional specifications.

Before performing a feature function test, risk analysis should be performed on software feature functions provided by international software and the importance of these features to determine the testing costs during the test.

1. Test Input

The input of feature Function Testing for internationalized software includes:

  • Description of software functional specifications;
  • Software requirements;
  • Performance objectives of the software;
  • Deployment scenario ).

2. Test process

The software feature function test process is shown in:

The software testing plan is the main document guiding software testing, pointing out the content of the test, the start and end dates of the test, the test process, the test method, the priority of the test case, and other details of the test, during software design, coding, and testing, you often need to update the test plan, especially after changing the software requirements.

The software testing plan is the main document guiding software testing, pointing out the content of the test, the start and end dates of the test, the test process, the test method, the priority of the test case, and other details of the test, during software design, coding, and testing, you often need to update the test plan, especially after changing the software requirements.

Design review ensures that the software design phase includes all deployment scenarios and software requirements and complies with the software performance, security, internationalization, and maintainability requirements.

Implement code review to ensure the software code is correct and compliant with the specifications, and comply with the Software Internationalization requirements.

The white-box testing of software, also known as "structure testing", is to review the software code and identify the code errors that cause software functional defects.

The white-box test of the software, also known as "function test", is a test case for running the software and executing all end-user scenarios from the user's perspective, discover defects that are inconsistent between software and design requirements and user requirements.

3. Test Process Analysis

  • Create test plan

The main content of the test plan document is the test cases used to test the software, covering all aspects of the design review, code review, configuration, deployment testing and load testing, make sure that all feature functions and application scenarios of the software are tested.

The test documents include detailed test plan documents and detailed test case documents. The detailed test plan documents list the priority of test cases in the order of "high, medium, and low", and briefly describe the application scenarios and features to be tested in the test cases. Specify the test execution priority for each test case based on the importance of the test case and the overall impact on the expected goals and requirements.

The detailed test case document corresponds to the detailed test plan document, which describes the execution steps of each test case to be executed as listed in the detailed test plan document and the data required for the test, expected results of the test are given.

It should be emphasized that the detailed test plan document and detailed test case document are not static. On the contrary, the content of these two documents must be continuously updated throughout the software development lifecycle. For example, if you want to add more test inputs after the functional specifications and requirements of the software are changed, you must update the documentation in a timely manner. In addition, when you modify the priority of the test case, or add use cases or functional test cases, you also need to update these two documents in a timely manner.

  • Design Review

From the perspective of software testing, design reviews are very important. By fully reviewing software design content, you can discover potential performance and security-related defects in the early stages of software development. If these defects are discovered only in the preparation phase, the modification time will be much longer than the modification time in the design phase.

In detail, design reviews help ensure the following:

  • All content of the software design that meets the functional specification instructions and software requirements;
  • Ensure that the software design meets all performance objectives;
  • The Software Design considers all the security of applications in different deployment scenarios;
  • The software design complies with the coding format requirements of program coupling and cohesion, consistency, communication, class design, exception management, resource management, buffer, etc, this allows developers to easily expand and customize software.
  • Software design complies with guidelines related to internationalization and localization.

In addition, the software design review also ensures that the software can correctly handle possible security attacks, performance optimization, and memory leakage issues.

  • Coding Review

In the implementation code review stage, test cases are executed from the detailed test plan document to review the software code. This is an important step in software unit testing. Through code review, you can discover problems in the early stages of software development.

Specifically, implementing code reviews helps ensure the following problems:

  • The software code complies with the requirements of the software requirement document;
  • Code elements such as class naming, variables, and method names of software comply with naming conventions;
  • The software code contains comments that help other developers understand correctly in a proper position;
  • The software code can correctly handle problems related to performance, scalability, and security;
  • The software code can correctly handle resource management related to Exception management and memory allocation;
  • Software Code considers problems related to Software Internationalization and localization;
  • The software does not contain redundant code that is never called.

In addition, implementing code review also ensures that the software can correctly handle boundary conditions, special input, possible security attacks, performance optimization, memory leakage, thread security, and other issues.

  • Perform white-box testing

Test cases related to the white-box test in the white-box test execution detailed test plan. The defects of the software are found by analyzing the internal working mode and program logic structure of the software code.

Analyze the source code, determine the input data required for the test unfair API and test code path, and update the test plan.

The white box test includes the following:

  • Analyzes the behavior characteristics of some special code when an application is running, including code coverage, memory allocation, competition, and deadlock;
  • Track the time consumption related to code path analysis and key performance. For web-based applications, you also need to monitor the request execution time;
  • The internal branch path of the test program ensures that each path processes data correctly and returns the expected output without causing function loss or inconsistency;
  • Test different loops and condition statements, such as simple loops, nested loops, relational expressions, simple conditions, compliant conditions, and boolean expressions, to ensure the accuracy of code establishment;
  • Security Testing. If a piece of software code has secure access in the target deployment environment, analyze the corresponding security code to prevent the program from exposing sensitive information to attackers.
  • Perform a black box test

Black box test execution detailed test plan for the black box test-related test cases, Heihe test does not require the tester to understand the internal structure of the program, but mainly simulates the operation of end users.

Black box testing ensures that the application meets the following requirements:

  • The application meets all the targets listed in the requirement document;
  • The application includes all the function points specified in the Function Specification Description;
  • Applications can correctly handle expected and abnormal use cases.

Black box testing includes the following:

  • Test external interfaces for all application scenarios. Make sure that the interface meets the functional specifications and system requirements. Use Cases include both the expected processing flow and random input.
  • Test different input types. Make sure that the software interface can output the expected results and correctly process invalid data and exceptions. The input data of the test includes reasonable data, boundary data, and input data that exceeds the maximum and minimum values.
  • Performance testing. Verify that the application can process increasing access requests under normal conditions and under extreme load conditions, and has good scalability. Performance testing includes load testing and stress testing. The performance test results can be used as input for code review and white-box testing.
  • Security Testing. From the perspective of black box testing, Security Testing simulates the actions of attackers in the real operating environment of the software to find the security risks of incorrect software design and coding. Security tests include verifying input data, cracking encryption and access sensitive data, buffer overflow, authorization, and certificate functions.
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.