• 测试领域状态机的编写


    我一直把测试领域的状态机器分成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.快速停止功能不可少,异常时提高处理效率. 既然是快速停止,就需要硬件给出单独通道,就像高速公路上的紧急通道一样.

  • 相关阅读:
    windows server2012 R2 本地策略编辑
    iOS 获取相册中图片的名字 url
    iOS -[PFPASIDataCompressor compressBytes:length:error:shouldFinish:] in PFPGZIPInvocationCompressor.o
    iOS 系统根据导航栏和状态栏自动修改布局
    iOS 本地推送通知
    iOS开发日记59-推荐两本好书
    iOS开发日记57-详解Quartz 2D
    iOS开发日记56-详解UIImage
    iOS开发日记55-隐式与显式动画
    iOS开发日记54-Xcode7调试神技
  • 原文地址:https://www.cnblogs.com/winkle/p/3233517.html
Copyright © 2020-2023  润新知