1、测试分析
软件测试的核心活动一般有以下几个:测试分析、测试设计、测试执行、测试评估。一个良好的分析才能输出一个良好的测试设计。
做好测试分析,要理清楚测试分析的输入和输出分别是什么。
一般情况下,输入包括协议和规范、用户需求、开发需求、继承需求、测试经验库(历史版本问题单、工程问题单、开发薄弱点等)。
拿到输入后,理清楚功能要求、非功能要求、开发的难点和重点。
理清楚之后,一般以下可以作为分析输出:测试目标、测试范围、测试项、测试风险、测试优先级、测试策略。
在做分析时,如果没有什么思路,可以多问自己几个问题。
谁提的测试需求?
他是想要解决什么问题或者实现什么功能?
他在什么场景下使用?可能会遇到什么问题?
什么时间要交付?
开发哪里会比较难实现?
用户哪里会用的最多?用户认为哪个地方最重要?
这些问题心中有了答案,再结合历史问题,分析的思路基本也就完成了。
2、测试设计
测试设计的输入就是测试分析的输出,测试分析的输出就是测试方案、测试用例
做测试设计也是有一套技术可循的,一般可以按照以下步骤进行。
第一步:建模(画流程图)
根据被测对象的不同可以选择不同的模型,顺序流程类的用路径分析法;状态流程类的用状态图法;数据组合类的用数据图法。
第二步:每个模块的输入输出
一般我们可以把输入输出作为数据看待,可以使用边界值、等价类、组合数据(pairwise\正交\全组合)以及非法输入等选择我们的输入数据。
第三步:扩展测试
使用错误推测法增加一些测试项;使用场景测试设计法增加特有的场景或者一个比较全的场景用例。
本次培训,柠檬班老师还有提到上下文驱动测试设计和启发式测试这两种测试设计方法。
上下文驱动的思想就是一定要基于上下文,项目所处的条件、影响因素、环境就是我们所说的上下文。如果上下文改变,解决方案也要相应的改变。一个好的测试就是要深刻理解软件的使用目标(用户期望)、环境、社会性(文化)和使用。
启发式测试是持续的分析、设计和执行的过程。简单说就是测试时遇到新的想法就继续挖掘下去,直到完成所有想法的测试验证。
如何评估一个测试设计是好的设计呢?
首要是测试覆盖率是否满足要求(需求覆盖度、功能覆盖度、代码覆盖度)
相关利益者是否达成一致
是否达成计划所定义的测试目标
最终有没有遗漏缺陷给用户带来影响。
如何快速的完成测试
从以下几个方面提升测试效率。
测试分析之前快速收集信息-----可以建立一个checklist,里面列出需要收集的信息,这样就不会遗漏也可以快速聚焦。
测试分析效率提升----------可以使用高效的工具,比如思维导图。
快速学习提升测试效率--------像加勒比海盗一样的学习,只要是知识就可以拿过来。
快速的测试执行----------并行执行、基本功能自动化、优化测试用例、分层执行、基于风险测试。
提高脚本执行速度----------测试脚本中的等待时间优化、脚本重复模块的利用、测试环境优化。
最后,测试人员的思维才是核心武器,平常可以多培养我们的分析性思维、批判性思维和创造性思维。
今日福利
【Java11期开课啦】
8大实战案例模块,历时三年沉淀,Java4.0震撼发布!
偷偷告诉你前50名,还可获得价值300元的京东购物卡呦~
如有疑问,请留言告知,或者咨询柠檬班软件测试培训机构:www.lemonban.com官网客服哦
网友评论