Software Testing Basics

Software development process is divided into traditional waterfall process and agile development process. The corresponding testing process is also divided into waterfall process and agile process. Nowadays, most Internet companies basically use agile development processes to develop software through rapid iteration and continuous delivery.

I used the Xmind mind mapping tool to draw a diagram of the software testing process and refined the work of the test plan. Figure 1.

figure 1

As can be seen from this figure, the life cycle of software testing activities should have five links: test planning, test design, test development, test execution, and test reporting.

Today we mainly talk about the main tasks of this part of the test plan.

In this part of test planning, we have to do so much work: understand test objects, formulate test strategies, analyze test requirements, evaluate test workload, raise test resources, and form test plan documents.

What exactly are these tasks to accomplish? We explain one by one below:

Understand the test object

Where do we learn about our test subjects? In general, there should be the following types: software requirements specification, software design documents (summary design documents, UI interaction design documents, functional design documents), original prototype diagrams, software competing products, software project plans and related projects. Some relevant meeting minutes, etc.
Many companies do not have complete documents, or do not have any documents, so we need to use our own initiative to communicate with product personnel, developers, project personnel and other personnel related to the software project.
What do we need to know about the test subject?
1. What are the functions of the software?
2. Who is the target user of the software?
3. What is the architecture of the software?
4. What technologies are used in the software.
......

Develop a testing strategy

A test strategy describes the overall approach and goals of test engineering. Describe which phase of testing is currently being performed (unit testing, integration testing, system testing) and the type of testing performed within each phase (functional testing, performance testing, stress testing, etc.).   Test strategies include   1. Testing techniques: manual, automated   2. Automated testing framework   3. What type of testing is to be performed (functional testing, performance testing, compatibility testing, etc.)



4. The standard of test completion (all test cases are all passed, all serious bugs are all fixed)

Test requirements analysis

This link is the starting point and foundation of the entire testing activity. The purpose of test requirements analysis is to solve the problem of what to test.
From the point of view and thinking of testing, in order to ensure that the object under test can complete the design goal, what work should the tester do.
The sources of data for the test requirements analysis are the same as the channels for understanding the test object. It is also the product requirements specification, product design documents, other related technical documents, meeting minutes and other materials.
The analysis process can use mind mapping tools to think divergently from the breadth and depth of the measured object. For example: consider what are the normal processes, what are the abnormal processes, and what are the fault-tolerant processing for entering the abnormal process.
The specific analysis steps can follow the following process, as shown in Figure 2.

figure 2
1. Understand the scope of needs
From the various documents of the product, determine the function points to be completed by the software, and what function modules need to be developed to complete the power supply and software.
2. Identify target users
Who are the users of this product, whether different users have different permissions, and whether they use different functions. For example, logged in users, non-logged in users.
3. Analysis function steps
List all function points. The steps for each function point are analyzed. Consider whether there are dependencies between different function points. What are the possible exception processes that would cause this function point to fail. For example, network abnormality, server abnormality, system environment abnormality, operation abnormality, etc. will affect the software function. How to be fault tolerant.
4. Excavate the demand for shadow collection
Some requirements may not be directly clear from the various documentation of the software. This requires software testers to have the ability to mine test requirements. So, from which aspects should the test requirements be mined?
1) Overall architecture design of the product
2) The specific implementation details of the product
3) Enter the user role and simulate the operation of the real scene.

Estimated Test Effort

How to estimate the test workload:
  1. For functional testing, it mainly depends on the complexity of the application, the number of functional points, and the number of test cases for each functional point. For capacity testing, it mainly depends on the amount of work required to create the data required for the test.
  2. The complexity of building the test environment.
       3. The efficiency of the test team

test resources

Consider the number of test engineers required, system resources (server configuration, network resources, etc.), etc.

Test Plan Documentation

A complete test plan document should contain the following sections:
1. Introduction
  Purpose
  Background
  Test Scope
  Project Documents List
  2. Test Requirements
  3. Test Strategy
  Test Types
  1. Functional Testing
  2. User Interface Testing   3.
  Performance   Testing   4.
  Stress
  Testing   4. Resources   Human resources   System resources   5. Work schedule arrangement








If you have any questions, please add WeChat: dd198910242010

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325976447&siteId=291194637