不同的角色应该承担不同的责任:
-
软件测试:对功能质量负责,产品测试验收,确保满足功能需求
-
开发人员:对代码质量负责,写测试代码,通过自动化的方式做功能测试
-
项目负责人:对过程质量负责,起主要责任
最理想状态:人人都为产品质量负责。
软件测试的主要工作
-
发现bug
-
报告bug
-
跟踪bug
如何发现bug?
根据需求设计测试用例,尽可能覆盖所有用户操作的可能。除了基本的功能性测试,还需要进行非功能性的测试,包括性能、安全性和用户体验等。测试人员通过设计出完整的、有较高覆盖率的测试用例,逐一测试,这样就可以做到及时发现bug。
如何报告bug?
发现bug之后,通过bug跟踪系统跟开发人员创建Ticket,详细说明bug的内容,包括以下部分:
-
预期和实际效果
-
重现步骤
-
必要的截图、日志等辅助信息
如何跟踪bug?
除了报告bug让开发去修复,测试人员还应该针对bug的修复验证。通常就是我们常说的回归测试,避免开发者因为修复一个Bug,引入其他的问题。
关于一些大厂不设置专职测试的话题
比如Facebook、Google和Amazon这些公司之所以能够做到不设置专职测试,它们都有以下共同的特点:
-
大量优秀的工程师,可以同时兼任开发和测试;
-
有大量的自动化测试代码覆盖
-
强大的发布和监控系统
-
时间进度比较宽松
-
用户对Bug容忍较高
光是第一条,国内很多公司都达不到,我个人觉得人才是最重要的一环,能够写自动化测试代码并且保证覆盖的工程师本身就稀缺,还要依赖完备的发布和监控系统;从时间的调性,国内强调KPI,产品竞争激烈,时间会压得很紧,所以工程师首先压的就是测试的时间,更别说是写自动化测试了。
但从未来的趋势看,开发和测试更多的融合是一种常态,对工程师要求会越来越高;我认为完全不设置测试岗位不现实,类似一些功能性测试或许会从正式人力变成外包的形式,而正式人力会更多要求有开发能力去开发能提升测试效率的工具和搭建平台。
33 | 测试工具:为什么不应该通过QQ/微信/邮件报Bug?
一个基本的Bug信息包括
-
标题;
-
描述(包括期望结果、实际结果和重现步骤等关键信息)
-
优先级;
-
指派人;
-
状态(New、Open、Rejected、Fixed等);
-
其他。
为什么不用QQ、邮件等方式处理Bug?
-
不易检索和跟踪
-
效率太低,开发人员容易被消息打断
-
不够直观,比如各种状态的统计
Bug跟踪系统的主要功能是用来跟踪Bug的,不是用来讨论和扯皮的。
最后
这里我特地整理了一份《Android开发核心知识点笔记》,里面就包含了自定义View相关的内容
如果你有需要的话,可以私信我【进阶】发给你
除了这份笔记,还给大家分享 Android学习PDF+架构视频+面试文档+源码笔记,高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料这几块的内容。非常适合近期有面试和想在技术道路上继续精进的朋友。
如果你有需要的话,可以点击我的GitHub免费获取!
分享上面这些资源,希望可以帮助到大家提升进阶,如果你觉得还算有用的话,不妨把它们推荐给你的朋友~
%AF%95%E6%8B%BF%E9%AB%98%E8%96%AA%EF%BC%81.md)**
[外链图片转存中…(img-VR9ICWx9-1645112369348)]
分享上面这些资源,希望可以帮助到大家提升进阶,如果你觉得还算有用的话,不妨把它们推荐给你的朋友~
喜欢本文的话,给我点个小赞、评论区留言或者转发支持一下呗~