由于最近的实验有涉及到通过Visual Studio实现GUI界面的黑盒测试,所以上网查询了Visual Studio实现自动化测试的相关概念知识,这里简单介绍一下~
在以前,人们编写单元测试用例,然后开发人员按照单元测试用例一步一步的来实现用例,这是一个很消耗时间的过程,如今的时代节奏很快,人们便期望无需人工介入,可以自动化快速完成,所以逐渐出现了使用Coded UI进行UI的自动化测试。
Coded UI 采用用户接口来驱动应用的进行自动化测试。这些测试包括UI控制的功能性测试。他们使你可以验证整个应用的功能是否正确,其中包括了用户接口。Coded UI 多数时间用于帮助验证在UI层本身的有效逻辑。它能够验证值对用户接口的控制的正确性。
为了实验课,同学们纷纷安装VS,发现并不是所有版本都可以进行UI测试的,目前,Visual Studio高级版(Premium)与旗舰版(Ultimate)可使用Coded UI。任何Coded UI测试的核心都是UI Map.UI Map可理解为用户行为记录(例如,鼠标点击),它同我们在文字处理器中创建的宏非常类似。
我们对编写自动化测试接触很少,Visual Studio中为实现自动化测试提供了一系列的工具,单元测试(Unit Test)、编码UI测试(Coded UI Test)、压力测试(Stress Test)、网页性能测试(Web Performance Test)、数据库单元测试(Database Unit Test)等等,我们接触比较多的,应该是单元测试和编码UI测试。
单元测试:
单元测试是Visual Studio中最基本、应用最广泛的一种测试。通常开发人员可以选择为一个方法或是一个部件创建单元测试,来保证其逻辑正确。
单元测试工具不仅可以用作单元测试的目的,也可以作为一种载体,来实现验收测试或是功能测试。
编码UI测试:
虽然单元测试框架适用于各种不同的测试,不过其本身却没有提供太多对测试代码实现上的支持。编码UI可以迅速创建出UI测试的框架。编码UI测试的运行方法、运行结果等都与单元测试类似。
自动生成的自动化UI测试并不能解决UI测试固有的不稳定的问题。尤其是这种编码UI测试是通过UI控件之间的包含关系来寻找控件并对其执行操作的,就导致了如果运行测试时UI排列与录制时不尽相同时,测试可能无法正确运行。