目录
一、软件测试概念
2、软件测试的特点
3、软件测试和软件开发的区别?
4、软件测试与软件调试的区别
5、软件测试中的不同岗位
6、作为一个软件测试工程师需要具备的能力
7、测试人员需要掌握的能力
8、什么是测试用例?
9、什么是BUG?
10、软件开发的五大模型
11、软件测试模型
12、软件测试的生命周期
13、如何描述一个BUG?
14、BUG的级别
15、BUG的生命周期
16、如果和开发人员产生冲突怎么办?
17、为什么要设计测试用例?
18、基于需求设计测试用例
19、等价类设计测试用例的方法
1、什么是软件测试?
(1)检测软件功能是否正常和正确运行。
(2)软件测试工程师检测软件功能是否满足用户的需求。
软件测试只是样本实验,无法穷举。
(1)软件开发是程序员按照用户的需求开发软件的功能。
(2)软件测试是软件测试人员按照用户的需求标准测试软件功能是否满足。
软件测试是根据用户的需求来检验软件功能是否满足需求,软件调试是开发人员验证软件功能是否实现了预期功能。
软件测试工程师:需求分析、验证、写测试计划、编写、执行用例、写测试报告。
测试开发工程师:开发自动化测试脚本、测试工具、写测试报告、测试框架。
(1)良好的综合能力:沟通能力强、学习能力强、具备一定的开发能力和文字能力。
(2)掌握测试用例编写能力。
(3)掌握一定的自动化测试技术。
(4)对测试工作有一定的兴趣。
(5)具有发散性思维
软件测试人员向被测试系统发起的一组集合,包括测试环境,测试数据,测试步骤,预期结果。
如果软件需求规格说明书存在,并且合理,软件功能不符合软件需求规格说明书,我们就说是BUG;如果软件需求不存在,如果用户的需求存在且合理,软件功能和用户需求不符合,我们就说是软件错误。
软件开发的生命周期是:需求分析—计划—设计—编码—测试—运行维护
(1)瀑布模型
流程:启动—需求分析—计划—设计—编码—测试—end
特点:串行的,每个阶段独立,强调早期的需求分析,以及后期的工作。
缺点:测试介入晚,前期的问题后期才会发现,导致失去了及时纠正的机会。
(图片来自知乎:川石信息)
(2)螺旋模型
特点:注重每一个迭代风险分析,适合于项目比较庞大,前期风险大的项目。
缺点:风险分析需要投入专业的人力资源,成本比较高。
(图片来自知乎:天行健)
(3)增量模型,迭代模型
增量模型按照一定的增量去开发系统的功能,假如一个系统开发分为ABCD四个模块,要求两周之内完成,增量模型会按照第一周先完成AB模块,第二周再完成CD模块的顺序去执行。
然而迭代模型会在第一周完成ABCD四个模块的基本功能,第二周在基础之上完成剩余的较为复杂的部分。
(4)敏捷模型
特点:拥抱变化,注重团队与用户之间的及时沟通与交流,注重在短期内交付一个高质量可用软件,而不是各种文档。
(1)软件测试V模型
特点:串行,瀑布模型的变种,左边每个阶段是右边每一个阶段测试的依据
缺点:测试介入晚,前期的问题后期才会发现,导致失去了及时纠正的机会。
(2)软件测试W模型
特点:开发和测试同时进行
需求分析—测试计划—测试设计、测试开发—测试执行—测试总结
需求分析:验证需求的正确性和合理性,细化需求,从需求中提取测试点,为编写测试用例做准备。
测试计划:测试计划中包括测试人员、测试时间、测试工具、测试数据、测试目的和测试范围。
测试设计:开发/编写测试用例。
测试执行:软件测试、执行测试用例、发现BUG、提交BUG、验证BUG。
测试报告:进行测试总结和分析,发现多少BUG,修改多少BUG,剩余BUG解决方案。
(1)代码版本号
(2)测试环境:硬件环境和软件环境
(3)测试步骤
(4)测试数据
(5)实际结果与预期结果
(6)错误日志
崩溃级别:系统已经无法运行,严重阻碍了测试和开发工作。
严重级别:系统可以运行,但是不稳定,继续运行,会造成严重的问题。
一般级别:次要功能出了问题。
次要级别:建议修改,不影响系统的基本运行。
(1)先检查BUG的描述是否清楚
(2)尝试站在用户的角度去思考,尝试说服开发人员
(3)不断提高自己的业务水平:找出产生BUG的原因,提出解决方案。
(4)做一个有影响力的人。
(5)找产品经理一起商量解决方案
(1)测试用例是测试执行的依据
(2)测试用例可以复用,添加或修改功能后,回测的时候可以重复使用。
(3)可用于衡量需求覆盖率
(4)自动化测试的依据
(5)可以作为后续测试人员的借鉴依据
(1)需求是测试人员进行测试的依据,需求分为功能需求和非功能需求
(2)测试人员首先要分析需求,验证需求的正确性和合理性,无二义性,逻辑自洽
(3)细化需求,从需求中提取出测试项,从每一个测试项中提取出测试点,根据测试点设计测试用例
根据输入,把输入划分成若干个等价类,从每一个等价类中取一个测试用例,进行测试,如果这个测试用例通过,我们就说这个用例所属的等价类通过,等价类可以解决测试用例无法穷举的情况。
有效等价类:符合需求规则说明书的数据
无效等价类:不符合需求规格说明书的数据