你如何理解软件测试?
发表时间:2023-11-18 11:02:11
文章来源:炫佑科技
浏览次数:213
菏泽炫佑科技
你如何理解软件测试?
前言
你对软件测试的理解是什么?
软件测试是软件开发过程的一部分。 它是在从小软件开发到大型软件开发的过渡时期与软件工程一起出现的。 按照中国人的说法,人体由金、木、水、火、土构成,如果用在软件工程中,那么测试就是验证结构的功能。
按照我的理解,测试是一种思想。 软件测试就是测试思维在软件开发过程中的应用。 测试是一个过程。 从软件开发的微观角度来看,它可以与软件开发分离。 是的,但是有一个联系,就像两条平行线,开发产品和测试产品,就是这样。
1、80%的软件缺陷集中在20%的软件模块
优秀的测试人员会利用这个原理很快地发现更多的缺陷(这个原理可以解释你的一个担忧:为什么你辛苦测试了好几天还没有发现任何缺陷;你的老板慢慢走开了。过来,点什么你想要 3 个新鲜出炉的虫子)。
普通测试人员都很着急,忙着加班自动化软件开发,漫无目的地到处寻找,却没有发现一个bug。
这里,俗称:探索性测试;
当测试时间有限/测试人员有限时非常有用。
这个原则:
对于软件测试人员提高测试效率和缺陷发现率具有重要意义。
2.尽早参与软件测试
需求阶段、系统分析、系统设计、系统实现阶段的评审可以发现并避免80%的软件缺陷。
作者始终认为,测试的价值不在于测试了多少Bug,而在于思考如何减少缺陷流向线上生产系统;
3.体现在软件测试的自动化上
大量企业的实践证明,80%的软件缺陷可以通过手动测试发现,20%的软件缺陷可以通过自动化测试发现和避免。
两者之间存在重叠,目前仍有约5%的软件缺陷需要通过其他方法发现并纠正。
例如测试右移、在线监控、灰度测试、日志分析等;
4. 80%的缺陷集中在某20%开发工程师的代码中
在质量部的过程中,让每个测试学员详细分析每个团队的开发人员,分析每个开发学员的工艺缺陷数据; 将有限的时间集中在某些学生提交的代码上; 80%可以发现Bug;
注:仍有不少公司践行80/20原则; 在这篇文章中,我们将首先写一下这四个维度;
另外,澄清了一些关于软件测试的概念:
1、缺陷无法彻底解决
质量与效率的平衡需要控制在适当的“度”
一味追求100%的Bug解决,期望不留下一丝瑕疵,只会导致版本发布时间过长; 对于99%的系统来说,这不是一个科学的方法(特别是对于快速开发和迭代的电子商务等系统)。
对于每一个测试从业者来说,都有一件事需要思考:“当发布时间临近时,还有一些bug没有解决,如何处理?”
笔者的建议是:找相关人员(业务、IT老大、测试老大、项目经理)来梳理bug优先级,确定发布前必须解决的bug。 可以推迟的,留待下一个版本解决;
2. 100% 发现缺陷是不可能的
因此,“在线漏考率”作为考核指标而存在。
软件测试能做的就是:尽可能多地发现软件缺陷;
没有人能保证 100% 发现所有缺陷; 这就是为什么公司现在正在实施“测试右移”;
虽然我们无法100%发现缺陷你如何理解软件测试?,但我们可以做到实时监控,并在用户发现缺陷之前“暗中”解决缺陷(这就是之前所说的:软件测试从业者的终极目标,在线零BUG如何实现? );
3. 缺陷是相对的
除了明显的功能不可用、报错等; 如果结果没有达到预期的结果,也可以称为“Bug”;
如果没有达到预期的结果,或者产品经理根本没有告诉你这个点应该是什么样子;
这时候你就得和产品经理沟通,满足需求;
这就是为什么IT团队经常与产品经理进行如此激烈的讨论(每个人对预期结果都有不同的想法);
不过,这里有一点:作为一名软件测试工程师,你可以通过接触足够多的行业软件/行业系统来指导产品经理和开发工程师达到你期望的结果;
这称为“用户体验测试”
以下是非常高质量的学习资源。 对于做【软件测试】的朋友来说应该是*全面*齐全的准备仓库了。 这个仓库也陪伴我走过了*艰难的一段路程。 希望也能帮到你!
如果您需要以上软件测试资料,可以私信我,可以免费获取。
还有一份216页的软件测试工程师面试指导文档。 并且免费分享相应的视频学习教程! ,资料包括基础知识、Linux精要、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试高级-编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发、测试框架、性能测试、安全测试等
不要一个人学习。 *好留在一个团体中,共同成长。 质量效应非常强大。 如果你们一起学习、一起打卡,你们就会更有动力学习、坚持下去。
结论
欢迎留言,或者关注我的专栏,与我交流。
炫佑科技专注互联网开发小程序开发-app开发-软件开发-网站制作等