当前位置:网站首页>[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.
边栏推荐
猜你喜欢
随机推荐
365天挑战LeetCode1000题——Day 044 按公因数计算最大组件大小 并查集
【回归预测-CNN预测】基于卷积神经网络CNN实现数据回归预测附matlab代码
【Codeforces思维题】20220728
OSS simply upload pictures
C language: detailed explanation of operators
MySQL数据库字段超长问题
Mysql 回表
推荐系统-模型:FNN模型(FM+MLP=FNN)
软考 --- 数据库(6)数据仓库、分布式数据库
Weak Banks to data conversion ability?Matt software help solve bank dilemma
MYSQL 唯一约束
2.网络资源访问工具:requests
vookloop函数怎么用?vlookup函数的使用方法介绍
@RequestParam使用
MySQL的DATE_FORMAT()函数将Date转为字符串
服务器不稳定因素
一文2500字手把手教你配置Jenkins自动化邮件通知
基于人脸的常见表情识别——模型搭建、训练与测试
PPT如何开启演讲者模式?PPT开启演讲者模式的方法
c语言:操作符详解