zoukankan      html  css  js  c++  java
  • 使用编码的 UI 测试来测试 Windows 应用商店应用

         自从Win8应运而生以来,Windows应用商店便立马成为开发者展示的舞台,而这短短的几年里应用的数量就可数以万计,这也不可避免地出现了良莠不齐的局面。我们都知道Visual Studio是目前最流行的Windows平台应用程序的集成开发环境。VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。所写的目标代码适用于微软支持的所有平台,我们也可以使用它来开发Win8应用。另一方面,Visual Studio也可以用来进行软件测试,其自带的模板则更为方便,在Visual Studio Ultimate 2013里新出的Win应用程序UI测试则会帮助我们更加直观地对Win8应用进行测试,这样我们就可以很容易检测出Win8应用的bug。

         先来介绍下UI测试的基本知识,通过应用程序的用户界面 (UI) 来操作该应用程序的自动测试称为编码的 UI 测试 (CUIT)。 这些测试包括对 UI 控件的功能测试。 它们使你可以验证整个应用程序(包括其用户界面)是否正常运行。 编码的 UI 测试对于在用户界面中存在验证或其他逻辑(例如在网页中)的情况特别有用。 它们也经常用于自动化现有的手动测试。如下图所示,一种典型的开发体验可能是这样一种情况:最初,你只需建立自己的应用程序(F5),并通过单击 UI 控件来验证一切是否运行正常。 你可能会决定创建一个编码的测试,这样就不需要继续手动测试应用程序。 根据在应用程序中进行测试的特定功能,你可以针对任何一个功能测试或者针对可能会或可能不会包括 UI 级别测试的集成测试编写代码。 如果你只想直接访问某些业务逻辑,则可以编写单元测试代码。 然而,在特定情况下,在应用程序中包括各种 UI 控件的测试将是有益的。 编码的 UI 测试可以自动化初始 (F5) 方案,以便验证代码改动不会影响你的应用程序的功能。

    在应用程序开发过程中进行测试

     

    接下来我就详细的介绍如何使用编码的 UI 测试来测试 Windows 应用商店应用:

     (1)为 Windows 应用商店应用创建新编码的 UI 测试项目(文件→新建→项目→应用商店应用→Windows应用程序→编码的UI测试(Windows)

     

    (2)选择使用十字线工具编辑UI映射

     

    (3)在编码的 UI 测试生成器中使用十字线工具以选择应用磁贴、右键单击“AutomationId”,然后选择“将值复制到剪贴板”。稍后将剪贴板中的值用于编   写操作以启动可供测试的应用。

            

    (4)在运行的 Windows 应用商店应用中,使用十字线工具以选择按钮控件和文本框控件。 在添加每个控件后,请在编码的 UI 测试生成器工具栏中选择“将控件添加到 UI 控件图”按钮

     

    (5)在编码的UI测试生成器工具栏中选择“生成代码”按钮,然后选择“生成”

    来为对 UI 控件图所做的更改创建代码。

     

    (6)使用十字线工具选择文本框控件,然后选择“DisplayTest”属性

     

    (7)添加断言,将在测试中使用它以验证该值是否正确。为断言添加并生成代码。

     

    (8)在“解决方案资源管理器”中,打开 UIMap.Designer.cs 文件,以查看为断言方法和控件添加的代码。

     

    (9)在“解决方案资源管理器”中,打开 CodedUITest1.cs。针对使用已添加UIMap 的控件运行测试所需的操作,将代码添加到CodeUTTestMethod1方法:

     

    (10)运行测试即可

    实验分析:

    针对Win8的一个计算器应用我们进行如下的测试

    1. 测试用例和结果:

                                                 表1--测试用例

    测试编号

    输入

    预期输出

    实际输出

    是否通过测试

        1

      2×3=

        6

       6

        是

        2

       2√

    1.414213562373

    1.414213562373

        是

        3

       4√

        2

         4

        否

        4

       3 1/x

    0.333333333333

    0.333333333333

        是

        5

       5 1/x

        0.2

         5

        否

        6

       8÷0=

    (显示异常信息)

      正无穷大

        是

        7

       0 1/x

     (显示异常信息)

         0

        否

        8

       -3÷6=

        - 0.5

        -0.5

        是

        9

    36÷5×=

    (显示异常信息)

        51.84

        否

        10

       3-5×6=

         -27

         -12

        否

    (1)

                       

    (2)

                         

    (3)

           

    (4)

                

    (5)

           

    (6)

                   

    (7)

           

    (8)

           

    (9)

                    

    (10)

                 

    2.测试问题报告

                                                        表2--问题总结

      问题编号

    用例编号

    问题描述

    问题级别

         1

        3

    开平方出错(完全平方数不能开)

        3

         2

        5

    倒数出错(2、4、5、8不能倒)

        3

         3

        7

    除零出错

        1

         4

       9

    用户非法输入

        4

         5

       10

    算符优先级出错

        2

     

    (5)结果截图:(分别为测试通过和未通过的截图,其他类似,不再一一罗列)

     

        



  • 相关阅读:
    String的几种初始化方法的区别
    Java编程思想之字符串
    树图 广度优先算法和深度优先算法
    bzoj1047: [HAOI2007]理想的正方形
    bzoj3124: [Sdoi2013]直径
    bzoj3930: [CQOI2015]选数
    bzoj1222: [HNOI2001]产品加工
    bzoj3578: GTY的人类基因组计划2
    bzoj4444: [Scoi2015]国旗计划
    bzoj1040: [ZJOI2008]骑士
  • 原文地址:https://www.cnblogs.com/xlwm/p/4426241.html
Copyright © 2011-2022 走看看