学习软件测试我们需要弄清楚软件测试的目的和原则,需求,BUG,测试用例等等
什么是软件测试?
主要就是两点:
(1)找bug
(2)对功能的正确性进行验证,看功能是否符合用户的需求
研发和测试的区别是什么呢?
研发:完成任务的开发,功能的实现
测试:验证研发的功能的正确性
软件测试的目的和原则
软件测试的目的:验证软件有或没有问题
软件测试的原则:以客户为中心,遵循软件测试的规范、流程、标准和要求
还应该弄清下面几点:
(1)好的测试方案是尽可能发现迄今为止尚未发现的错误的测试方案。
(2)成功的测试是发现迄今为止尚未发现的错误的测试。
(3)测试并不仅仅是为了找出错误,通过分析错误产生的原因,阶段及错误发生的趋势。
(1)帮助管理者了解当前软件开发过程中的缺陷,以便及时纠错改进。
(2)帮助测试人员设计出有针对性的测试方法,改善测试的效率和有效性。
(3)让开发人员知道错误产生的重灾区,加强自测试。
(4)让客户清楚我们专业的质量保证团队
(4)没有发现错误的测试也是有价值的,完整的测试是评估软件质量的一种方法。
(5)从测试的目的出发,大概可以分为两类:为了验证程序能正常工作的测试; 为了验证程序不能正常运行的测试。
什么是需求?
需求可以分为用户需求和软件需求
用户需求:可以简单理解为甲方提出的需求
软件需求:也可以叫功能需求,详细的描述了开发人员必须实现的软件功能,是测试人员进行测试工作的基本依据。
什么是BUG?
bug就是与正确的需求不一致或者与用户期望不一致
什么是测试用例
测试用例是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素。
怎样写测试用例?
(1)理解需求文档,整理为测试用例。
(2)假设具体场景来编写测试用例
(3)利用等价类划分,边界值,因果图,错误猜测法,场景分析法等编写测试用例。
软件/软件测试的生命周期
(1)软件的生命周期:需求分析-----计划-----设计-----编码-----测试-----运行维护
(2)软件测试的生命周期:需求分析----测试计划----测试设计----测试开发----测试执行----测试评估
**需求分析:**主要就是阅读需求,理解需求,分析需求点,参与需求会议的评审,确认需求范围
**制定测试计划:**进度安排,时间人力安排,软件类,工具类的资料,风险等。
**测试设计:**测试用例的编写。
**测试执行:**执行测试用例、缺陷管理
**测试评估:**编写测试报告(测试结论、对缺陷分析)
缺陷管理
BUG(缺陷)的描述(如何描述)
下面是一个完整的bug:
(1)描述一个bug首先应该要有前提条件,就是在什么情况下才会出现这个bug。环境等。
(2)具体的操作步骤写清楚
(3)要有实际结果和预期结果,要让开发人员一看就清楚修改bug后要达到的预期结果。
(4)要有出现的概率;比如操作100次出现10次。
(5)要有bug等级,并且要定位好等级,到底是一个致命性bug,严重性bug,一般性bug还是一个建设性bug。
(6)出现bug的软件版本号要写清楚。
(7)bug出现的模块要写清楚。
例如邮箱注册:
编号:regedit_001
标题:邮箱注册提交报500失败
环境:win10+IE11
步骤:
(1)进入163首页
(2)点击“注册免费邮箱”
(3)输入页面上的所有信息
(4)点击“已发送短信,立即注册”
实际结果:
页面报500错误
预期结果:
页面提示“发送成功”
bug的分类
**(1)致命性(1级bug):**通常表现为系统无法运行,系统崩溃,主要功能模块无法使用。
**(2)严重性(2级bug):**主要功能存在严重缺陷,但不影响系统的稳定性。
(3)一般性(3级bug):界面、性能缺陷;边界条件下错误。
(4)建设性(4级bug):比如界面颜色搭配不好,文字排列不整齐,界面的格式不规范。