精简总结:一文说明软件测试基础概念(一) +https://developer.aliyun.com/article/1520536?spm=a2c6h.13148508.setting.14.75194f0e103RAF
六、优秀的软件测试人员具备的素质
1、技能
测试用例设计能力
编程能力
编写测试工具、自动化测试用例技术快速学习的能力
业务快速学习能力
2、非技能
沟通、合作(一个项目是一堆人写的)
文字表达能力 (测试用例文字写出来的,编写测试文档,BUG)
抗压能力
责任感
七、软件测试岗位
软件测试工程师:工程师的主要工作一般包含需求分析、编写测试计划和测试方案、设计测试用例、执行测试用例、跟踪BUG、编写测试报告等。
测试开发工程师:根据项目的特点来开发一些自动化测试的脚本,或自动化测试的工具,或者是软件测试工作中用到的提高工作效率的小工具什么的,从而能够更有效地进行测试,提高软件产品的质量。 测试开发工程师工作的目的就是为了更高效,更快捷地让测试工程师进行测试工作;测试开发岗位一般要求一定的开发能力,解决问题的能力尤为重要。
性能测试工程师:针对系统进行性能测试,包括使用工具和编写性能自动化测试脚本。
安全测试工程师:主要分析产品可能会出现的安全问题,做各个方面的渗透测试,提高产品的安全性。
其它:系统测试工程师,嵌入式测试工程师,硬件测试工程师。
八、什么是需求
1、概念
满足用户期望或正式规定文档(合同、标准、规范)所具有的条件和权能,包含用户需求和软件需求。
a.用户需求
可以简单理解为甲方提出的需求,如果没有甲方,那么就是终端用户使用产品时必须要完成的任务。该需求一般比较简略。
b.软件需求
也叫功能需求,该需求会详细描述开发人员必须实现的软件功能。 用户需求就是一句话,而软件需求是一个文档(详细描述用户需求如何实现)。日常工作中通常是用软件需求进行开发测试。
大多数公司在进行软件开发的时候,会把用户需求转化为软件需求(这就是PM产品经理要做的事情)。开发人员和测试人员工作的直接依据就是软件需求。
2、从软件测试人员角度看需求
软件需求是测试人员进行测试工作的基本依据。 在具体设计测试用例的时候,首先需要搞清楚每一个业务需求对应的多少个软件功能需求点,然后分析出每个软件功能需求点对应的多少个测试需求点,然后针对每个测试需求点设计测试用例。
过程:业务需求—>软件功能需求点—>测试需求点—>测试用例
以用户登录为例来阐述依据需求设计测试用例的过程。其中,测试需求点的识别要从多个角度进行,常见的有功能、兼容、性能、安全等。
3、为什么需求对软件测试人员如此重要?
从软件功能需求出发,无遗漏的识别出测试需求是至关重要的,因为这将直接关系到用例的测试覆盖率。
对于识别出的每个测试需求点,需要采用具体的设计测试用例的方法来进行测试用例的设计。
4、如何深入理解被测试软件的需求?
测试工程师在需求分析和设计阶段就开始介入。只有测试人员真正理解原始业务需求,才能从业务需求的角度去设计针对性明确、覆盖率较高的测试用例集。测试人员了解业务需求的方式有:
参加需求评审会议。
查阅文档(需求文档,技术文档)。
找产品经理了解软件功能,找开发人员了解软件的实现。
九、测试用例 (Test Case)
1、概念
测试用例(Test Case)是为了实施测试而向被测试的系统提供的一组集合(注意是一个集合,而不是指某个具体的样例)。这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素。
2、测试用例解决了两大问题
测试过程中可能会遇到以下问题: 不知道是否全面测试了所有功能、测试的覆盖率无法衡量、对新版本的重复测试很难实施、存在大量冗余测试影响测试效率……
测试用例就是来解决这些问题的。概括来说,测试用例case解决了两大问题:
- 测什么
- 怎么测
测试用例提高测试人员工作效率,解决了测试人员工作的重复性问题。并且,测试用例也是建立自动化(让代码代替人员执行测试)的基础。
3、测试用例的例子
a、对注册功能的测试用例记录
b、对在线OJ平台的判题功能的测试用例记录
c、对qq的登录功能的测试用例记录。
十、软件错误(BUG)
1、概念
当且仅当规格说明是存在的并且正确时,程序与规格说明之间的不匹配才是错误。(程序与规格说明之间不匹配这样的说法是片面的。)
- 规格说明:软件需求,规格说明书。
一个需求规格说明书的示例
程序与规格说明不匹配:即执行结果不等于预期结果。
当涉及到需求规格说明书没有提到的功能时,判断标准以最终用户为准:当程序没有实现其最终用户合理预期的功能要求时,就是软件错误。
十一、软件生命周期
指的是从软件产品的设想开始到软件不再使用而结束的时间。
分为6个阶段:需求分析->计划->设计->编码->测试->运行维护
1、需求分析:分析需求是否合理,需求是否完整。
2、计划:谁开发,谁测试,开发多久,测试多久……
3、设计:制定方案。
4、编码:写代码。
5、测试:形成测试报告。
一个测试报告的样例
6、运行维护:如果有线上问题,此时测试人员需要协助开发定位问题+解决问题。