包含metersphere缺陷管理的词条
想快速又简单地编写测试用例?看这里!
本文适用对象
初级软件测试人员,或想开拓思路拓展测试范围、提高测试覆盖率的所有测试人员等等。
本文目的
讲述如何快速、简单、有效、有条理地编写一条测试用例,并帮助测试人员从测试用例角度拓展测试思路。
如何简单、快速地
描述(编写)一个测试用例
测试用例的目的在于指导、帮助测试人员按照既定的计划步骤执行测试,并比对测试结果与预期结果是否一致。
对于中大型软件公司而言,测试用例的管理都有既定的规范和工具,如表格管理用例、测试管理软件管理用例(如下图1所示为MeterSphere测试管理软件用例编写页面)等。
但总而言之,测试用例的内容主要不外乎3个部分:前置条件、步骤、预期结果。
那么,对于没有明确地测试管理软件的小型软件公司,或者对于测试人员而言,需要暂时快速地编写一个测试用例或记录测试过程的时候,可以怎么做呢?
推荐一个临时性的用例编写模板:GIVEN...WHEN…THEN。
让我们套用GIVEN…WHEN…THEN的模式来描述下编写用例的大致步骤:
有没有觉得很简单?
让我们再用实际案例,描述下如何用GIVEN…WHEN…THEN模板编写真实用例。以测试访问 链接这个用例为例1:
使用GIVEN…WHEN…THEN能够简单呈现用例前置条件、执行步骤和预期结果间的逻辑关系,并能清晰地表述一个用例。
那么,什么地方可以用GIVEN…WHEN..THEN这个模板呢?这个模板较之文档用例更为简洁,如下图2所示,对于测试用例提交故障,阐述引发故障的操作方法或故障复现方法,以及故障修复后的验证时都可以使用。
如何使用探索式场景联想法
衍生测试用例
探索式测试更多的是一种测试风格和测试思想,要求测试人员在测试过程中不断思考、发散思维,记录、修改和更新测试方法和测试用例。
场景法则是要求测试人员认真分析测试需求,了解用户使用场景,根据不同的场景进行测试。
而本文讨论的 探索式场景联想法,则是将探索式测试方法、场景法和联想法相结合,在已有测试用例的基础上衍生更多的测试用例。
那么,如何使用探索式场景联想法衍生测试用例呢?
由上一节可知,测试用例是指导测试人员在xx预知条件(场景)下,执行xx步骤,预期得到xx结论。
显而可见,通过改变测试用例的预知条件和操作步骤,则可以衍生出不同的测试用例。而这些测试用例包含不同的测试场景和不同的测试步骤。
如下图3所示,为探索式场景联想法衍生测试用例的结构脑图。
改变前置条件
测试用例的前置条件基本包括:硬件资源和软件系统两个部分。
改变前置条件可以从这几方面入手。
以上节的访问 链接用例1为例,改变前置条件衍生新的测试用例。由于该用例的前置条件较简单,改变前置条件只需改变浏览器类型和版本即可。
由此,衍生的部分测试用例可如下所示:
改变操作步骤
改变用例操作步骤可以从以下几方面入手:插入步骤、删除步骤、改变步骤和重复步骤。
插入步骤
如图3所示,插入步骤又可以分为插入相关联步骤和不相关联步骤。并在插入步骤中增加用户输入。
同样以用例1为例,插入步骤衍生的测试用例可如下:
删除步骤
删除步骤可以分为删除部分步骤或者删除部分步骤中的部分操作。删除部分步骤,又可以分为删除关键步骤和非关键步骤。
例如,以例1为例,删除关键步骤“点击键盘回车键“衍生新的测试用例如下所示:
改变步骤
改变步骤主要涉及步骤顺序的改变和步骤内容的改变。当测试用例具有多个步骤,且步骤间具有关联性和顺序性的时候,改变步骤顺序则会变得很有意义。改变步骤内容主要是改变步骤中用户的输入(包括数据输入、用户操作等)。
以用例1为例,改变步骤内容衍生的用例如下所示:
重复步骤
对于大多测试人员来说,衍生测试用例时更多关注点在于操作步骤的变化。
但是,对于不同的测试场景,重复相同的测试步骤,仍然具有很大的测试意义。重复步骤进行测试能够挖掘不同前置条件(场景)下的故障,亦能挖掘软件在多个重复步骤操作下潜藏的故障。
以用例1为例,重复步骤衍生的用例如下所示:
测试结论衍生测试用例
除了通过改变前置条件和操作步骤衍生测试用例外,还可以根据测试结论中的异常信息,逆推测试场景,衍生新的测试用例。
这个部分更多的需要测试人员掌握探索式测试方法,对测试过程中的软件资源监控信息、错误日志等保持警惕性,挖掘错误信息中的内容,逆推产生错误信息的原因,构建新的测试用例。
小结
本文阐述了一种可以在提交测试故障信息和验证测试故障时使用的快速测试用例编写模板,快速记录测试场景、测试步骤等关键信息。
并在此基础上,简单讲解了基于探索式场景联想法的测试用例衍生方法,可以帮助测试人员借助已有的测试用例拓展新的测试用例,扩大测试范围,提高覆盖率,挖掘更多场景下的软件故障。
转自公众号投稿:
meterSphere使用文档
使用流程:首先我们拿到账号后需要 创建项目 ,为项目配置环境域名,在项目管理内还可以设置用户自定义变量、默认请求头操作;创建好项目后点击接口测试,选择该项目新建模块树用来管理接口集合,接下来创建 接口定义 ,就是把一个接口中的所需内容填写进去,包括接口名称、接口路径、请求方法、请求体、请求头部。填写完接口定义后点击保存,此时在对应模块的api列表中就能看到该接口定义;保存后点击测试会跳转到接口测试页面,需要验证接口是否能正常请求通过,这部分属于 用例设计 ,可以给用例添加断言、添加前置脚本、添加后置脚本、提取参数等操作,用例添加完需要另存为新用例,此时在对应模块的case列表里可以看到该用例;针对场景用例,需要在 接口自动化 里创建场景,然后引用已有的单接口用例来串成需要的场景用例进行调试。
官方文档
自定义变量添加(非必须,有需要自行添加),例如在多处需要用到该参数,就可以添加一个自定义变量。
环境域名配置,这个是必须添加的,运行用例的时候需要选择运行环境。请求头的设置非必须,根据需要可以自行配置
官方文档
配置好项目环境后,可以开始录入接口定义,通过左侧模块树来管理接口集合,模块树最多支持8级。
创建接口定义
点击测试,跳转到接口测试页面调试接口能正常请求
如果能正常请求通过,进行下一步添加断言
断言规则有5种,最简单的就是通过jsonpath
断言返回消息体内容,如果只是断言网络状态码的200,就没什么意义了
前置脚本、后置脚本使用,复杂的场景通过beanshell脚本可以做自己想要的逻辑处理,需要自己写好java程序打jar包,在项目管理中上传jar包,然后再导入包名底下的类,进行类实例化再调类里的方法来使用。变量的获取跟设置的方法与jmeter里的beanshell脚本里一致。
通过引用用例列表中的用例来组织想要的场景,例如老师约课,需要先走老师登录获再获取课程列表,然后约课。
复制的用例后期用例更改不会影响到场景里引用的用例,引用的用例再后期用例更改,也会同步影响场景里的用例,看自己需要是复制还是引用。
用例引用列表可拖动调整用例上下顺序
MeterSphere-Mac安装部署
Mac上没有wget的需要先安装一下wget: brew install wget
Homebrew是一款非常强大的可以应用在MAC中的Linux管理包。
curl -sSL | sh
如果中途有容器显示unhealthy,可以清理一下本地镜像后执行: msctl reload
地址: http://目标服务器IP地址:8081 ? ?用户名: admin? 密码: metersphere
# 升级至最新版本:msctl upgrade
# 查看 MeterSphere 状态:msctl status