数据驱动测试适合哪些应用?

如题所述

数据驱动有利于保证逻辑的简明清晰,在自动化测试技术中有很大的应用。 

1、首先,因为开发者仅需要管理数据,使得关于界面细节控制的代码不再需要开发者编写。同时,由于状态被抽象出来,同一个变量值在界面上的多处变化全部由映射关系来决定,而不需要开发者手工修改每一处变化。

这两者结合起来使得开发者的心智负担大大减少,需要关注的代码量也大大减少,从而使得开发效率得以大幅提升,出现bug的概率也大大减少。

2、其次,专门将应用状态抽象出来,使得开发者必须认真思考代码的组织方式,而因为界面相关细节的消失,大部分的代码都变成了逻辑代码。

使得传统编程中的模式都可以被应用到前端代码中,从而使得前端代码能够支持更大规模的应用,也能更好地组织前端代码本身,使得代码更容易阅读和维护。

状态的抽象也使得开发者可以精准地保存和还原任意一个界面状态。因为界面的每一时刻的界面表现都是由这一时刻的应用状态决定,因此只要能够将此时的应用状态进行保存,就能在另一个时间、空间中重现应用此时的界面表现。

这个特性在某一些场景下非常好用:

例如线上bug的排查。如果我们有办法取到用户的当前状态,就有办法完全还原用户的界面表现,从而快速复现应用碰到的bug,而不用再苦苦和用户沟通详细的操作步骤,一点点地确认应用可能是哪里出了问题。

除此之外,这个特性还可以用于实现“时间旅行”效果,即应用界面的回放。我们只需要将状态的变更都记录下来,就能看到应用从初始化一直到最终状态中间发生的完整事情。它本身可以作为一个效果来使用,也可以用来支持一些功能(例如撤销/重做)。

因为应用界面完全由应用状态决定,而状态映射到界面的操作一般由框架来帮忙我们完成,因此在测试的时候,就有机会将重点放在状态的测试上。即在很多情况下,我们只需要测试逻辑和数据,确保应用状态是正确的,即可大概认为界面是正确的。

因为界面测试的成本要远高于逻辑和数据测试,如果我们能在不做界面测试的情况下也保证应用逻辑和状态是正确的,将大大提升测试效率。

温馨提示:答案为网友推荐,仅供参考
相似回答