一、什么是软件测试
最常见的理解是:软件测试就是找BUG,发现缺陷。
软件测试就是验证软件产品特性是否满足用户的需求。
从这话我们可以看出以下两点:
- 测试试图验证软件是“工作的”,也就是验证软件功能执行的正确性
- 测试的活动是以测试人员“预期的结果”为依据,这里的“预期结果”指的是需求定义。
1.1软件测试的特点
软件测试只是一个样本试验,具有不可穷尽性。
二、软件测试和开发的区别
编辑
三、 软件测试与调试的区别
编辑
四、软件测试岗位
软件测试工程师:工程师的主要工作一般包含需求分析、编写测试计划和测试方案、设计测试用例、执行测试用例、跟踪BUG、编写测试报告等;
测试开发工程师:根据项目的特点来开发一些自动化测试的脚本,或自动化测试的工具,或者是软件测试工作中用到的提高工作效率的小工具什么的,从而能够更有效地进行测试,提高软件产品的质量。测试开发工程师工作的目的就是为了更高效,更快捷地让测试工程师进行测试工作;测试开发岗位一般要求一定的开发能力,解决问题的能力尤为重要。
性能测试工程师:针对系统进行性能测试,包括使用工具和编写性能自动化测试脚本。
安全测试工程师:主要分析产品可能会出现的安全问题,做各个方面的渗透测试,提高产品的安全性
其它:系统测试工程师,嵌入式测试工程师,硬件测试工程师。
五、一个优秀的软件测试人员具备的素质
5.1综合能力
- 沟通能力:测试工程师的沟通能力会直接影响事务开展的效率。良好清晰的沟通能力,是一个技术优秀的测是工程师是否可以获得更好发展的“敲门砖”。
- 快速学习的能力:对不同业务需求和功能的快速学习与理解能力。 对于测试新技术和新方法的学习能力。
- 开发能力
- 文字能力
5.2掌握自动化测试技术
掌握自动化测试技术,可以把你从大量重复性的手工劳动中解放出来,这样可以把更多的精力花在更多类型的测试上。
5.3优秀的测试用例设计能力
如何提高测试用例设计的能力?
1,掌握设计测试用例的方法
2,积累,总结
3,阅读好的测试用例设计案例
5.4探索性思维
探索性思维是指,测试工程师在执行测试的过程中不断学习被测系统,结合自己的经验,知识,直觉,进行系统的错误猜测和逻辑推理,整理和分析出更多有针对性的的测试关注点。
案例:测试一台自动售票机。
正向,逆向,边界,压力,性能,耗电量,断电,外观,没零钱.....
5.5兴趣
5.6有责任感和一定的压力
责任感是任何工作的都需要的,对于测试工作者而言:
测试往往是产品质量的最后个把关者;由于测试工作成效很难衡量,测试用例执行、bug数目的多少都无法说明产品的质量是否合格;所以,责任感是最重要的测试必备素质之一。
压力,测试工作者,特别是属于互联网行业需要能够抗住各种压力。