当前位置:网站首页>[The Beauty of Software Engineering - Column Notes] 31 | Is software testing responsible for product quality?
[The Beauty of Software Engineering - Column Notes] 31 | Is software testing responsible for product quality?
2022-07-30 20:32:00 【if...else...】
Article table of contents
Column information
Columnist: Baoyu
Column Publishing Platform: Geek Time

Main content
What is the main job of software testing?Only by figuring out the work of software testing can we figure out whether this part of the work can be replaced by development and whether full-time testing is required.
I. What is the main work of software testing?
Start with the requirements, analyze the requirements after the requirements are determined, and then do the test design.
If architecture design is an abstraction of business requirements in terms of technology, then test design is more like a concrete representation of business requirements, decomposing business requirements into specific user operation steps, and alsois the test case.
A brief summary of the work of software testing is Find bugs, report bugs, track bugs.
How does software testing find bugs?
The hardest part here is finding bugs, especially how to find bugs as early and as comprehensively as possible.
For testers, the focus is on detection, that is, all possible user usage scenarios will be considered, normal, abnormal, and even extreme cases.
Testers design test cases to cover all possible user operations as much as possible, but this is theoretically impossible because there are infinite combinations.
There are some scientific methods that can be used to pass the limited test cases and ensure as much test coverage as possible.
- equivalence class division
- Boundary value analysis
- Exploratory testing
- Scene Design
- Cause and effect diagram
- Error guessing
It is recommended to read "Microsoft's Way of Software Testing", this book has a detailed introduction to many specific testing methods.
How do software testers report bugs?
During the testing process, if the tester finds a bug, the bug will be submitted to the developer through the Bug Tracking System.
How does software test track bugs?
Bug tracking is not just about tracking when the developer fixed the bug, it usually includes verification of the bug fix.
Regression testing is when old code is modified and then retested to verify that the modification did not introduce new bugs or cause errors in other code.
Second, what kind of companies need full-time testing?
Why Facebook can do without full-time testing?
First of all, the level of Facebook's engineers is indeed higher than the industry average, and they are capable of doing development and part of the testing work at the same time
Secondly, Facebook's product cycle is relatively loose, and there is timeComplete the automated test code;
Facebook's release and monitoring are also relatively complete, problems can be found in time through monitoring, and can be quickly rolled back or patched at any time;
Finally, user feedbackThis kind of social product has a relatively high tolerance for bugs. Think about it if the software on Boeing aircraft can do this?
Inspirations from large factories that do not set up full-time testing
First of all, it is a inevitable trend to replace repetitive manual testing with automated testing.
Secondly, test design is the core competency of software testers.
In the end, more integration of developers and testers is a win-win.
III. Other excerpts
- In addition to functional testing, non-functional testing is also required, that is, tests such as performance, security, and user experience.
- Sometimes the work of testers seems to be just a click of a mouse, but after they get the requirements, they actually spend a lot of time and energy analyzing the requirements, then designing test cases and preparing test data according to the requirements.
- This step of regression testing is very important, because usually after developers fix bugs, they will only verify the bugs they fix, but will not verify whether other functions will have an impact.Regression testing can effectively and timely find and fix bugs that cause system instability.
Summary
Simply put, the job of software testing is to find bugs, report bugs, and track bugs.
Whether the company needs full-time testing depends on the specific situation of the company, such as whether there are a large number of excellent engineers who can simultaneously develop and test, a large number of automated test code coverage, and a strong releaseAnd monitoring system, the progress is loose, and users have a high tolerance for bugs.
边栏推荐
猜你喜欢
随机推荐
mysqldump导出提示:mysqldump [Warning] Using a password on the command line interface can be insecure
WPS没有在任务栏显示所有窗口选项怎么回事?
MySQL的on duplicate key update 的使用
Recommendation System - Sorting Layer: Sorting Layer Architecture [User and Item Feature Processing Steps]
Recommendation System - Sorting Layer - Model (1): Embedding + MLP (Multilayer Perceptron) Model [Deep Crossing Model: Classic Embedding + MLP Model Structure]
一文2500字手把手教你配置Jenkins自动化邮件通知
vookloop函数怎么用?vlookup函数的使用方法介绍
想要写出好的测试用例,先要学会测试设计
c语言:操作符详解
Recommendation system: evaluation index [offline evaluation index: RMSE (root mean square error), AUC, precision, recall, F1] [online evaluation: A/B test] [generally required response time <0.5s]
HMS Core Discovery第16期回顾|与虎墩一起,玩转AI新“声”态
Based on the face of the common expression recognition - model building, training and testing
是对称矩阵的对角化
对一次生产环境产生OOM的记录,结论:除非在自己完全有把握的情况下,否则不要偷懒查询无用字段
canvas基础讲解加示例
chrome扩展:如何使对话框位于当前窗口的右侧?
普通的int main(){}没有写return 0;会怎么样?
MySQL的主从复制
MySQL 视图(详解)
Activiti 工作流引擎 详解









