测试需求分析流程
根据产品需求提取系统的测试点建立需求跟踪矩阵,根据测试点采用相应的测试用例设计方法设计测试用例
提取测试点的思考
首先检查接口元素的显示是否正确测试了页面的基本功能。 如果页面同时包含表单和列表,则必须按顺序测试表单中的每个字段,以优先测试表单功能是否正常工作。 用户可以输入的所有输入字段都必须使用等价类和边界值基于字段的约束来考虑。 如果多个字段之间存在关联关系和约束关系,则在测试各个字段的等价类和边界值后,继续使用判定表等测试方法进行组合测试表单的测试,然后测试列表的功能是在各个页面的内容测试后,再进行过程分析法测试
工作中,提取测试点有几种方法?
在用word或excel记录测试点的思维导图中记录测试点如果实际协作时测试时间很短,可能会直接使用测试点而不是测试用例
创建需求跟踪矩阵
需求跟踪矩阵是根据产品需求和测试点以及测试用例创建三个映射的列表。
需求跟踪矩阵的作用
建立产品需求、测试需求和测试用例之间的映射关系,便于进行用例需求覆盖率统计
如果要求发生变化,可以根据要求跟踪矩阵快速找到需要更新的测试用例
缺陷的定义
软件没有实现产品说明书中记载的功能
软件实现了产品说明书中不应该记载的功能
软件执行了产品说明书中没有记载的操作
软件虽然在产品说明书中没有提到,但没有实现应该实现的功能
从软件测试人员的角度来看,他们认为软件难以理解、难以使用、运行缓慢或最终用户错误
掌握高质量缺陷报告的填写方法
完整的缺陷报告包括:
缺陷编号用例编号测试模块预设条件错误标题测试步骤预期结果实际结果缺陷状态重要性优先级召回率测试日期分配环境软件版本的屏幕截图注释
要描述缺陷管理过程或生命周期,必须清除两点
在缺陷管理中,各步骤是如何流动的,以及负责人是谁,与缺陷管理的各步骤对应的缺陷状态、缺陷的重要度
重要性:能干的小蚂蚁是软件缺陷破坏软件质量的程度,即该软件缺陷的存在如何影响软件的功能和性能
致命:例如,软件意外关闭或操作系统崩溃会导致数据丢失。
危重症:例如,由于单功能故障,多个相关功能失效
常规:例如,禁用软件的单个功能
提示:软件接口的细微缺陷,如控件不齐全
了解软件缺陷管理的常用工具
了解缺陷冲突中常见的问题
如何处理无法再现的缺陷?
请务必提交到缺陷管理库!
1 .应详细说明遇到缺陷的过程及相关环境构成。 如果有日志,必须附加相关操作日志或系统动作日志
2 .对于不可再现的缺陷,尽量明确说明再现率是多少
3 .对于不可再现的缺陷,开发人员在fixed后,无法验证是否在一个版本中修复了缺陷。 在三个或更多版本中验证后,如果没有再现,则无法关闭缺陷。
回归测试
回归测试是指修改旧代码后,重新进行测试以确保没有引入新错误,或者其他代码出现错误。 回归测试可以在单元测试、集成测试、系统测试等任何阶段执行
目的:检测缺陷是否真的修复,是否引入了新的缺陷
回归测试过程
在测试战略制定阶段,制定回归测试战略
确定需要回归测试的版本Version,在哪个版本中修复了错误,在哪个版本中回归
发布回归测试版本,并根据回归测试策略运行回归测试
回归测试合格,关闭缺陷申报单
回归测试未通过缺陷申报单返回开发者,开发者重新修正问题,提交测试者的回归测试
回归测试的策略
完全回归:
重新运行前期测试阶段创建的所有测试用例,以确定问题纠正的正确性和纠正的扩散局部影响
可选回归:
这意味着有选择地重新运行在上一个测试阶段创建的测试用例,以测试更改的程序
1 .覆盖修正法:针对修正后的部分,选择或重建测试用例,以验证不会再次发生错误的用例选择方法
2 .外围覆盖法(最常见的方法)该方法不仅需要包括覆盖修正法确定的用例,还需要分析修正扩散的影响,并针对修正的间接影响部分选择测试用例以验证其没有受到负面影响。 这个方法比涵盖修订法要充分一点。
3 .指标实现法:这是一种类似于单元测试的方法,在重新运行测试之前,确定需要达到的指标,如部分代码的100%覆盖、修改相关接口的60%覆盖等,并根据该要求选择最小的测试用例集合。
验收测试
内部系统测试通过后,可以开始验收测试
验收测试是以用户为中心的测试,验收组应由项目组成员、用户代表等组成
/p>验收测试原则上在用户所在地进行,但如果用户同意也可以在公司内模拟用户环境进行
验收测试根据合同、《需求规格说明书》或《验收测试计划》对成品进行验收测试
对于产品型的项目,验收测试又分为α测试和β测试
α测试(内测)
α测试是由用户在开发环境下进行的测试,也可以是开发机构内部的用户在模拟实际操作环境下进行的测试
α测试时,软件在一个自然设置状态下使用。开发者坐在用户旁,随时记下错误情况和使用中的问题这是在受控的环境下进行的测试
α测试的目的主要是评价软件产品的FLURPS(功能、本地化、可用性、可靠性、性能和技术支持)
β测试(公测):
β测试是由软件的多个用户在一个或多个用户的实际使用环境(生产环境)下进行的测试
与α测试不同的是,β测试时开发者通常不在测试现场。因而,β测试是在开发者无法控制的环境下进行的软件现场应用
目前在很多互联网公司也称为灰度测试