zoukankan      html  css  js  c++  java
  • 测试领域状态机的编写

    我一直把测试领域的状态机器分成2两主干:人机交互 + 主状态.

    而主状态一般严格分成: 取参数(相当于C语言中的形参), 采集, 分析&处理, 打印(报表,etc).

    说起来简单,其实做起来不简单;

    1.取参数,要想一个PC做的能达到通用. 这点非常重要, 首先要分析需求->命令格式.

    比如,就拿我们自动测试系统来讲, 在此重点讲一个参数:时序. 时序分成: 1.底层和被侧系统通讯时序,和采集系统通讯时序; 2.被测系统的系统特性(比如从poweron到系统响应外界的时间, 读取外设usb loading时间, ....) 而这两大类 被测对象不同就会表象不同的特性, 所以为了通用必须变量化,变量化的管控方式无非就是配置文件或者人机接口上做default.

    具体是那些参数呢?这需要按照协议去整理,命令归类. 然后如选择excel管理. 

    可以考虑在主配置文件中管理子配置文件(时序配置文件)。

    2.测试子功能选择和子功能顺序管理.

    不同机型间有不能的功能; 不用的特性导致不同的测试顺序. 所以必须有子功能打开关闭以及测试顺序可调整.

    子功能模块的op和cl 及顺序调整 , 可以将所有子功能做成枚举, 然后在一个列1d中下拉菜单方式选择;

    而该子功能都有哪些?从哪儿来?---读主配置文件的sheet名称, 同时该sheet名称和主状态机种的case完全一致; 顺带提一下,即使某个功能模块和其他类模块命令格式相同,但也不要合并,单独占用一页; 比如网络连通性检查,如果归并到其他类,在某些机型没有网络,想关闭似乎可以,但是如果想调整测试顺序对不起就做不到了.

    至于界面, 左侧,单列1d下拉菜单方式, 右侧页柄翻页方式, 但是有个难点 页柄sheet名称要和单列1d枚举一致,没有被选中的则隐藏; 当然保存时也只对被选中的处理.

    还有每个页柄中对应配置文件中对应名称的sheet表单. 对应那个表单,则又是通过该页柄名称去索引配置文件的sheet名称而得.

    备注,测试序列即1d列也可以保存在excel的配置文件中,如sheet--"config.list"

    ---这样,这些内容中所有变量都来自配置文件中;
    每个页柄的表单和配置文件的sheet单内容一致,即在此所有人机都用excel 2D模式去处理; 好处是仅仅有一个变量2d. 否则满地都是变量.

    界面排布,可参考 TypeSensitivePopup_V1_0_1,Resource 界面切换页面 (本地电脑)

    3.单步模式不可少,方便调试,以及非常方便的获取机型的一些信息如版本等.

    4.快速停止功能不可少,异常时提高处理效率. 既然是快速停止,就需要硬件给出单独通道,就像高速公路上的紧急通道一样.

  • 相关阅读:
    [Android] ImageView.ScaleType设置图解 【转载】
    ASP.NET Web API 配置返回的json字段的格式以及Action返回HttpResponseMessage类型和IHttpActionResult类型
    ASP.NET Web API 上传文件
    ASP.NET Web API 全局权限和全局异常处理
    ASP.NET Web API 中的异常处理(转载)
    ASP.NET Web API 2 中的属性路由使用(转载)
    使用ASP.NET Web API自带的类库实现对CORS的支持(在开发中使用这种方式)(转载)
    通过扩展让ASP.NET Web API支持W3C的CORS规范(转载)
    IoC容器Autofac
    C#开发微信公众平台-就这么简单(附Demo)(转载)
  • 原文地址:https://www.cnblogs.com/winkle/p/3233517.html
Copyright © 2011-2022 走看看