2024软件测试面试刷题,这个小程序(永久刷题),靠它快速找到工作了!(刷题APP的天花板)-CSDN博客文章浏览阅读2.1k次,点赞85次,收藏11次。你知不知道有这么一个软件测试面试的刷题小程序。里面包含了面试常问的软件测试基础题,web自动化测试、app自动化测试、接口测试、性能测试、自动化测试、安全测试及一些常问到的人力资源题目。最主要的是他还收集了像阿里、华为这样的大厂面试真题,还有互动交流板块……https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.55011 状态转换测试简介
-
嵌入式系统有些表现出基于状态的行为,设计此系统可使用基于状态的建模;
-
在设计过程中,创建的模型可作为测试设计的基础;
-
以下将描述基于状态的模型来导出测试用例的技术。
1.1 基于状态的测试设计技术
-
此技术目标是:验证事件、动作、行为与转台转换之间的关系;
-
通过此技术,可判定系统基于状态的行为是否满足系统的规范集合。
1.2 系统行为
分三种类型:
-
简单行为;
-
连续行为;
-
基于状态的行为。
2 故障类别
基于状态的行为出现错误的三种原因:
-
状态图无法表示系统功能规范的正确转换;
-
状态去的语法不一致或不正确;
-
从状态图到代码的转换。
以下是状态图和软件中可能发生的故障。
2.1 状态
-
没有进入转换的状态;
-
遗漏初始状态,需定义状态图中的所有路径;
-
额外状态(系统生成比状态图中多的状态);
-
遗漏状态(系统中没有给出状态图中给出的状态);
-
破坏性生态(转换到无效状态而导致系统崩溃)。
2.2 防护
-
防护必须指向转换而不是状态;
-
完成事件转换上的防护;
-
初始转换上的防护;
-
重叠防护;
-
防护为false但仍有转换发生;
-
错误的防护实现。
2.3 转换
-
必须有一个接收状态与一个最终状态;
-
相互矛盾的转换;
-
遗漏或错误转换;
-
遗漏或错误动作。
2.4 事件
-
遗漏事件;
-
隐含路径;
-
一个没有定义的事件做出响应。
2.5 其它
-
在正交区域使用同步;
-
规范故障可使用审查清单进行覆盖,如下:
3 状态转换测试技术
3.1 编写状态-事件表
-
状态图是编写状态-事件表的起点;
-
编写状态-事件表给出状态与事件的关系;
-
如下是一个简化的录音机(VCR)状态图:
-
由上述状态图可编写出状态-事件表:
3.2 编写转换树
-
状态-事件表被用于编写转换树;
-
初始状态为转换树的根;
-
以下为VCR的转换树:
3.3 编写合法测试用例的测试脚本
-
借助以上转换树和状态-事件表可编写合法测试用例的测试脚本;
-
转换树中每一条路径是一个测试用例;
-
如下是部分从VCR状态图导出的测试用例:
3.4 编写非法测试用例的测试脚本
-
可从状态-事件中得到非法的状态-事件组合;
-
非法的状态-事件是指在该特定状态时,系统没有指定要对该事件做出响应;
-
部分非法测试用例的测试脚本如下:
3.5 编写测试脚本防护
-
以下为防护编写的测试用例的测试脚本:
4 广泛性和实用性
4.1 广泛性
-
测试深度被用于计算测试覆盖率;
-
有关公式如下:
n:表示转换次数(也用于测试深度)
1次转换覆盖率/0次切换覆盖率 = 执行的转换数/状态模型中的转换总数
2次转换覆盖率/1次切换覆盖率 = 执行的两次转换的序列数/状态模型中两次转换的序列总数
状态-事件覆盖程度 = (状态数-执行的事件对)/(状态数*事件数)
4.2 故障检测
-
测试深度是指测试基于状态的行为所需的最少工作;
-
测试效果与故障检测的关系:
故障类别 | 合法测试用例 | 非法测试用例 | 边界值分析 | 更深层次的测试 |
---|---|---|---|---|
额外状态 | + | + | + | + |
遗漏状态 | + | - | - | - |
破坏性状态* | - | +/- | +/- | + |
重复防护 | - | - | +/- | - |
防护为false的转换 | - | - | + | - |
相互矛盾的转换 | + | - | - | - |
遗漏或错误转换 | + | + | + | +/- |
遗漏或错误动作 | + | - | - | +/- |
遗落或错误事件 | + | - | - | +/- |
隐含路径 | - | + | + | +/- |
-:检测出故障的希望很渺茫
+:检测出故障的概率很大
+-:检测出故障的概率很小
*:进行更深层次的测试可能不足以检测出破坏性状态
4.3 实用性和可用性
影响实用性的因素:步进方式;重置选项;状态设置;状态、转换、输入、输出与事件进行唯一性编码;转换跟踪。
行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群: 786229024,里面有各种测试开发资料和技术可以一起交流哦。
最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。