当前位置:网站首页>[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.
边栏推荐
- Based on the face of the common expression recognition - model building, training and testing
- YOLO V3详解
- MySQL----多表查询
- KEIL problem: [keil Error: failed to execute 'C:\Keil\ARM\ARMCC']
- 微信读书,导出笔记
- 多线程的互斥锁应用RAII机制
- 7、MySQL Workbench 导出导入数据库
- 《快速掌握QML》第六章 动画
- 【PM专用】快速统计团队还有谁没有登记上报信息,快速筛选出属于自己项目组的成员,未完成XXX工作事项的名单
- 巴比特 | 元宇宙每日必读:洗牌将至,数藏行业下半场是否会迎来新一批领头羊?是否会出现新玩法?...
猜你喜欢

PR视频剪辑软件教程
![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]](/img/ff/9c49d38a655e3f7f221b219d5069c9.png)
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]

C语言中指针没那么难~ (1)【文章结尾有资料】
![Recommendation System - Sorting Layer - Model (1): Embedding + MLP (Multilayer Perceptron) Model [Deep Crossing Model: Classic Embedding + MLP Model Structure]](/img/bb/25b0493398901b52d40ff11a21e34c.png)
Recommendation System - Sorting Layer - Model (1): Embedding + MLP (Multilayer Perceptron) Model [Deep Crossing Model: Classic Embedding + MLP Model Structure]

MySQL的主从复制

第03章 用户和权限管理【1.MySQL架构篇】【MySQL高级】

ECCV2022 | 对比视觉Transformer的在线持续学习

Network layer protocol------IP protocol

ENS emoji domain name is on fire!Hype or opportunity?

HMS Core音频编辑服务音源分离与空间音频渲染,助力快速进入3D音频的世界
随机推荐
OSS simply upload pictures
HarmonyOS笔记-----------(三)
微信读书,导出笔记
KEIL问题:【keil Error: failed to execute ‘C:\Keil\ARM\ARMCC‘】
MySQL group_concat()详解
SQLyog注释 添加 撤销 快捷键
是对称矩阵的对角化
Running the evict task with compensationTime
IDEA2018.3.5取消双击Shift快捷键
awk笔记
Common Expression Recognition Based on Face (1) - Basic Knowledge of Deep Learning
HMS Core Discovery第16期回顾|与虎墩一起,玩转AI新“声”态
C语言中指针没那么难~(2)【文章结尾有资料】
PPT如何开启演讲者模式?PPT开启演讲者模式的方法
如何解决gedit 深色模式下高亮文本不可见?
Android studio连接MySQL并完成简单的登录注册功能
如何优化OpenSumi终端性能?
MySql密码
Ordinary int main(){} does not write return 0; what will happen?
第04章 逻辑架构【1.MySQL架构篇】【MySQL高级】