网站诊断分析,wordpress the7,wordpress 双域名,西安网站建设培训1 引言
前面几篇文章为我们讲述了因果图、判定表、正交试验等几种方法#xff0c;主要是针对于不同条件输入输出的组合进行测试#xff0c;但在实际需求中#xff0c;我们也常会遇到需要对被测对象的状态流转进行验证的情况#xff0c;此时前面几种方法将不再适用#xf…1 引言
前面几篇文章为我们讲述了因果图、判定表、正交试验等几种方法主要是针对于不同条件输入输出的组合进行测试但在实际需求中我们也常会遇到需要对被测对象的状态流转进行验证的情况此时前面几种方法将不再适用对于这种状态转换类问题功能图法则可大展身手。
2 概念及原理
2.1 基本概念
功能图也称状态图法该方法是一种专门解决动态说明问题的测试用例设计方法 主要由状态迁移图和逻辑功能模型两部分构成。
2.1.1 状态迁移图
用于描述一个特定对象生命期中满足某些条件的所有状态以及由于各种事件的发生而引起的状态之间的转移。关于状态迁移图有如下几点需要注意
1一个状态迁移图中包含如下几种状态
•初态(即初始状态) ——实心圆
•终态(即最终状态) ——一对同心圆(内圆为实心圆)
•中间状态——圆角矩形
2在一张状态图中只能有一个初态而终态则可以有0至多个。
3状态图既可以表示单程生命周期也可以表示系统循环运行过程。
2.1.2 逻辑功能模型
用于描述静态说明表示在状态中输入条件和输出条件之间的对应关系。
2.2 核心思想
功能图法的核心思想在于抽象出待测系统的若干状态以及状态之间的转换条件和转换路径然后从状态迁移路径覆盖的角度设计测试用例。
3 方法步骤
1分析需求明确状态节点具体关注以下几个信息
•存在的状态
•状态之间的转换关系
•状态变化的触发条件。
2梳理不同状态的转换输出状态-条件表
3画出状态迁移图
•定义初始状态
•为初始状态增加一次操作改变初始状态增加新的状态
•为上一步步产生的新状态增加一次操作再增加新的状态
•循环直到没有新状态产生为止。
4转换为状态迁移树
结合广度优先遍历深度优先遍历算法遍历状态迁移图的每一条路径得到状态迁移树。
5从状态迁移树导出测试路径。
状态迁移树中根节点到每个叶子节点的路径即为一条测试用例。
4 举个栗子
场景针对客服系统事件状态流转过程设计测试用例
1分析客服事件可能存在的所有状态。
•已创建/待分配
•已分派
•处理中
•已解决
•已关闭
•升级待分派
•再次打开 2梳理状态之间的转换关系和触发条件得到状态-条件表。 当前状态下一个状态状态转换条件已创建/待分配已分派①系统自动分派②手动领取已分派处理中①客服操作事件/事件有更新已创建/待分配处理中①事件转移已创建/待分配已解决①系统解决事件如小程序-用户取消服务已创建/待分配已关闭①mq触发关闭如上游取消异常处理中已解决①客服手动解决事件②系统自动解决事件已解决已关闭①归档已解决再次打开①手动reopen②系统触发reopen处理中升级待分派①客服升级事件处理中已关闭①合并升级待分派已分派①系统自动分派②手动领取升级待分派处理中①事件转移再次打开升级待分派①客服升级事件再次打开已解决①客服手动解决事件②系统自动解决事件-已创建/待分配①fxm/小程序等生成事件-已分派①客服手动创建②电话/咚咚等方式进线-升级待分派①系统升级事件如邮政投诉事件
3根据状态-条件表画出功能图/状态图。 4根据功能图输出状态迁移树。 5输出测试用例下表举例输出前5条其余类似不做赘述。 用例编号测试项标题预置条件操作步骤预期结果Test_01改变事件状态事件状态转变【已创建/待分配】--【已分派】--【处理中】--【已解决】--【已关闭】可正常操作事件1、通过fxm渠道进线生成事件2、客服手动领取事件3、客服操作更新事件信息4、客服点击解决事件5、事件15天无操作系统归档事件。事件状态转变为【已创建/待分配】--【已分派】--【处理中】--【已解决】--【已关闭】Test_02改变事件状态事件状态转变【已创建/待分配】--【已分派】--【处理中】--【已解决】--【再次打开】--【已解决】--【已关闭】可正常操作事件1、通过fxm渠道进线生成事件2、客服手动领取事件3、客服操作更新事件信息4、客服点击解决事件5、客服reopen事件6、客服点击解决事件7、事件15天无操作系统归档事件。事件状态转变为【已创建/待分配】--【已分派】--【处理中】--【已解决】--【再次打开】--【已解决】--【已关闭】Test_03改变事件状态事件状态转变【已创建/待分配】--【已分派】--【处理中】--【已解决】--【再次打开】--【升级待分派】--【已分派】--【处理中】--【已解决】--【已关闭】可正常操作事件1、通过fxm渠道进线生成事件2、客服手动领取事件3、客服操作更新事件信息4、客服点击解决事件5、客服reopen事件6、客服点击升级事件7、事件分派至其他客服8、客服操作更新事件信息9、客服解决事件10、事件15天无操作系统归档事件。事件状态转变为【已创建/待分配】--【已分派】--【处理中】--【已解决】--【再次打开】--【升级待分派】--【已分派】--【处理中】--【已解决】--【已关闭】Test_04改变事件状态事件状态转变【已创建/待分配】--【已分派】--【处理中】--【已解决】--【再次打开】--【升级待分派】--【处理中】--【已解决】--【已关闭】可正常操作事件1、通过fxm渠道进线生成事件2、客服手动领取事件3、客服操作更新事件信息4、客服点击解决事件5、客服reopen事件6、客服点击升级事件7、主管转移事件8、客服处理并解决事件9、事件15天无操作系统归档事件。事件状态转变为【已创建/待分配】--【已分派】--【处理中】--【已解决】--【再次打开】--【升级待分派】--【处理中】--【已解决】--【已关闭】Test_05改变事件状态事件状态转变【已创建/待分配】--【已分派】--【处理中】--【升级待分派】--【已分派】--【处理中】--【已解决】--【已关闭】可正常操作事件1、通过fxm渠道进线生成事件2、客服手动领取事件3、客服操作更新事件信息4、客服点击升级事件5、事件分派至其他客服6、客服操作更新事件信息7、客服解决事件8、事件15天无操作系统归档事件。事件状态转变为【已创建/待分配】--【已分派】--【处理中】--【升级待分派】--【已分派】--【处理中】--【已解决】--【已关闭】.................. 5 总结 功能图/状态图方法适用场景1、由于某种条件成立导致发生状态改变的情况。2、主要关注状态转移的正确性。优点1、通过状态图可以清晰掌握系统的整个交互过程2、可保证每一个状态的所有可达状态都覆盖到3、通过验证给定条件内是否能够产生需要的状态变化可检验出是否存在不可达的状态、不必要的状态或其他非法状态以及非法的状态迁移。缺点针对有效输入输出进行设计所以无法覆盖无效路径和非法输入。注意事项1、每种状态至少需要访问一次2、重点测试最常见、最普遍的状态转换3、其次测试最不常用的状态转换路径4、单个状态之间的转换可通过结合其他用例设计方法保证覆盖全面5、添加非法测试路径进行测试。异常输入、状态和条件的非法组合 通过本节讲述的功能图测试用例设计方法我们可以轻松设计存在对象状态转移变换需求的测试用例从而清楚的掌握整个系统的交互过程但如果我们面对的需求中更多描述复杂的业务处理流程我们又该使用哪种方法呢一起看看下一节的场景法吧~ 2023最新Jmeter接口测试从入门到精通全套项目实战教程