1、什么是测试?
虽然是一个老掉牙的问题,但是我觉得这个问题也是最有深度的一个问题,每个阶段我对测试的解读都有一些不一样。
实习时期的我(那时候负责给开发、测试搭建测试环境,打打补丁什么的):测试就是给开发提BUG
毕业后的的我(这个答案是当初专门给面试准备的):在规定的环境下,利用测试工具,按照测试计划,对可执行文件进行操作,输入数据,检查与软件相关的文档,尽早发现软件缺陷的过程,评估软件是否满足需求。
工作两年后的我(是自己在不断工作过程中的感悟):
从产品的角度来讲,我们测试的依据是国标、产品定义,还要考虑用户体验,以及用户使用过程中的异常场景;
从测试对象的角度来讲,我们测试的对象除了软件,硬件也是我们测试的范围(这就意味着我们要学会用一些简单的仪器:万用表、示波器);
从工作内容的角度上,是一个发现问题、验证问题的过程。在这个过程中,伴随着的是寻找规律,协助开发复现问题,所以,和开发的沟通也很重要。
测试也是一个不断学习的过程,学习一些合适的工具或者脚本,应用到测试的工作中,提高工作效率。
2、没有产品定义或者需求文档,怎么测试?
可以参考国标、参考竞品
追问:没有竞品怎么办?
这就要发挥团队的力量,通过开发、产品或者项目经理、测试,大家一起沟通,至少我们能够明白我们的产品是做什么的,基本功能有哪些,而不是盲目的测试。
3、如何编写测试用例?
在这里就不一一列举编写测试用例的方法了,想分享一下编写测试用例可以参考的角度。
- 国标:我们测试的产品如果有国标的话,那我们必须要保证我们的产品是符合国标规定的,所以,我们可以根据国标来确定我们测试的最基本的点。
- 竞品:可以在网上多看看竞品的一些指标,像网络测评、购物网站,都是可以参考的,比如某个大品牌的扫地机的续航是多久,都是可以作为我们编写用例的依据。
- 我们自己的定义:我们的产品和竞品有相同之处,也有自己的特色,比如我们自己的特色是路径规划(先***,再***),所以我们自己产品主打的特色也可以是编写用例的侧重点。
- 用户的体验:要考虑一般用户的使用习惯,审美等。