软件测试中基于模型的测试
先决条件:软件测试
基于模型的测试不过是简单的测试技术,在其中我们得到模型描述的不同测试用例。在这种类型中,测试用例是通过在线和离线测试用例模型生成的。
在这种情况下,通过从功能上考虑测试技术,我们找出了基于模型的测试用例。为了检查软件的功能,单元测试对于这种情况是不够的,因此考虑了这一点。
基于模型的测试的意义:
基于模型的测试对于测试用例是否以相同的顺序执行操作非常熟悉?该测试技术被采用并与测试技术相结合。现在开发了许多商业工具来支持这种类型的技术。
在这种类型中,在运行期间根据模型本身所做的预测检查软件行为。系统的行为基本上基于所进行的过程的动作、顺序、条件和输入输出流。当这被实际实施时,我们应该知道这个概念,即对系统来说是可共享的或有价值的,并且它应该是非常精确的方式。
该模型的主要作用是执行不同的行为,如数据流、控制流、状态转换机、决策表和依赖图。通常我们说基于模型的测试是基于在线/on-the-fly和基于离线/先验的,基于在线的测试测试套件是在执行期间生成的,基于离线的测试测试套件是在执行之前生成的。
优点 :
- 这种类型的自动化效率非常高,模型也获得了更高的水平。
- 在这种类型中也可以进行全面测试,并且可以通过模型轻松测试所做的更改。
- 不同类型的机器,如有限状态机、统一模型图和状态图,大部分都参与了这种测试技术。
- 通过降低这种类型的可用过程的成本。同时许多进程一起运行以提高性能。
- 在开始阶段产生的缺陷被识别出来,缺陷数量相应地增加,测试以渐进的方式进行。
缺点:
- 出于测试目的,系统总是需要正式的规范,并根据不同的集合以组合的方式进行更改。
- 理解这个概念对于用户和使用来说都是非常困难的。所以模型的学习曲线会比较多,即模型最大的失败。
- 为了克服这种情况,应该对模型进行彻底的即兴训练和训练。
模型的真实案例场景:
当用户准备好通过 Web 应用程序时,用户有多个部分,例如登录、忘记密码和重置密码选项,即共有 3 个字段可以进入主页,因此这种情况仅适用于一个用户,并且在考虑基于模型的多个用户可以使用一些排列和组合来测试模型类型中的产品。因此,状态转换图被用来满足用户的需求。
具有多个转换的多个状态可以降低由不同排列和组合技术执行的任务的复杂性。测试用例和状态转换图的验证是自动创建的,并为队列中请求访问特定模型的许多用户提供更好的解决方案。
结论 :
基于模型的测试是一种进化测试的方法。测试人员参与测试类型以形成纸上的心理模型,以提高被测产品的可读性和可重用性。在过去的研究中,测试是手动的,最近基于研究模型的测试进入市场的自动化。