In the technology exchange group I created earlier , I shared a topic ： How to make a qualified test ?
After listening to the peer sharing last night , I have another thought summary , What are the responsibilities of Software Test Engineer ?
first , My idea is to execute use cases , Defect finding , That's it , Simple and rough ...
later , Look 《Google The way of software testing 》 This book , Slightly changed , It becomes active discovery , Exposed defects , And team work , solve the problem ...
Second half of last year , The company airborne a director , He made a point ： Improve delivery quality and speed ! All of a sudden , right , The purpose of our work is not to improve the quality of the delivered software system , And improve efficiency !
After listening to the peer sharing last night , Think and summarize , How to improve the quality and speed of delivered software applications
This question , I found that I didn't consider some details , It's still inexperienced , The road of learning and growth , A long way to go !!!
Below , Reorganized some opinions shared by the big guys , Combine some of your ideas , It's a reference ...
One , demand
1, Requirements review
Why need review ? The reasons are as follows ：
①, Familiar with business , Explain requirements by product or business , To know , It is not necessary to expose problems caused by unfamiliar business in the development and test stage ;
②, multipartite agreement , Before officially entering the development stage , test , development , The product confirms the uncertainty of some requirements , Reach an agreement , Avoid subsequent problems ;
③, Assess workload , Difficulty of realization , And about resources ;
④, Define development test boundary , Objectives and scope , What to do and what not to do ;
2, Requirements document
①, As detailed as possible , The corresponding function points and test points need to be extracted from the requirements ;
②, Proper granularity of function point and test point , This makes it easy to observe the deviation between test results and requirements ;
③, generally speaking , The bigger the system , The more complex the business , It is easier to judge the deviation degree of demand than small system ;
Two , system architecture
In addition to demand , Understand and be familiar with the technical architecture of the whole system , It's also a must . For example, the architecture of the whole system , Characteristics of each , What communication service framework is adopted , Database type , Front and rear frame, etc , This makes it easier to locate defects ,
And select the appropriate automated testing framework according to the system architecture , Performance test strategy, etc .
features ： generally speaking , The better the stability of the system , So the less adaptable it is , The impact is the rising cost of each architecture change and the change in the direction of the development team's reconstruction or test team as a whole .
In recent years, the distributed architecture of popular and large-scale applications has been developed , Microservices, etc , They are all based on the availability and scalability of the system , To reduce the cost of changes .
Three , Process management
The recording of test process results should depend to a certain extent on the completeness of the process records .
If process change is involved , We should also deal with different observation objects （ test / development ） Record the effect and result , To determine its impact on quality and evaluation criteria .
The test process is as follows ：
①, Start up phase
The development manager determines the test submission time in the development plan , After getting the latest relevant documents, the test director estimates the scale and establishes a test team , complete 《 test plan 》;
②, design phase
Include test plan , Test plan , Test case and other output documents ;
After the requirements analysis document establishes the baseline , Test group needs to write test cases for test requirements , In the actual test , Test cases will be the only implementation criteria . In the process of writing use cases , The specific tasks and responsibilities are as follows ：
③, implementation phase
Executing test cases will take most of the test group's time , These works are all based on a lot of planning work in the early stage ;
④, Report stage
On that day （ Or every small stage ） After testing , The test engineer needs to summarize the test results of the day , Report test progress ;
⑤, Summary stage
After the test , Test director prepares test report , Summarize the test , And submit , Provide important information support for the follow-up work of the product ;
⑥, acceptance phase
After all the above work is completed , The process of testing , Result acceptance , Announce the end of the test phase ;
⑦, Filing stage
The test archive is to declare the test valid at the end of test acceptance , After the end of the test , Archive various standard documents involved in the test process ;
Four , Document management
Document help for work , It's necessary . Although now many enterprises advocate agile , But agile is not without documentation , It's a light document . The importance of documents is as follows ：
1, It is very helpful for knowledge transfer in history and current testing process ;
2, You can compare historical and current document changes , It is easy to observe the quality of testing during the whole requirement change process ;
3, When it comes to disputes over personnel changes or defects , Faster knowledge transfer rate and reference basis ;
Five , risk management
There are risks at every stage of the project , Common defects are as follows ：
1, Unclear needs ;
2, Imperfect system design or test design ;
3, Unsafe code writing ;
4, Insufficient test cases , Low coverage ;
5, Insufficient test resources , Improper regression workload estimation ;
7, Improper project schedule , Impact of other projects on the project ;
therefore , Risk management and prevention is a necessary and important work , And the responsibilities of the test engineer , Isn't it to provide the quality of the delivered software !!!
Six , time management
Engineers with some experience in testing have basically experienced insufficient investment in resources , Lack of time , Test time is compressed , Overtime and even production accidents ! So do a good job in time management , It's so important .
People who manage their time are often closer to success , How to use time reasonably to solve urgent project problems , Conflict issues , Resource arrangement , priority , Execution sequence of test cases, etc , Time management is one of the factors to ensure quality .
For example, new demand is involved or Requirement changes must be documented accordingly （ It can be the requirement specification or email description ） As a basis for testing ;
Two books are recommended here ：《 Tomato working method 》,《 Seven habits of highly effective people 》
The above parts , The responsibilities of test engineer are described , As well as some parts and details that need attention , of course , Specific content such as process management , Different enterprises have their own characteristics , For reference only ...