自动测试软件的设计策略

发表于:2011-11-03 11:25

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Anpher Zhang    来源:51Testing软件测试网采编

  在嵌入式领域和大型软件领域,测试越来越彰显其重要性,公司会投入更多的人力来从事测试工作,在人力成本上升的今天,自动测试软件的需求开始变的越来越火,因为这显然已经直接跟成本挂钩了。

  今天写这篇文章算是自己最近工作的一些感想和总结吧,可用于一些小型工程的自动测试软件设计。

  首先来想一下自动测试软件的工作的内容,即软件需求。

  我们的自动测试软件无论是真的硬件性能的测试或者真的软件功能模块稳健性的测试,对我们来说都可以把她抽象成一个个独立功能的Item(Process或者function),在每一项item里又会有其特定的执行过程,我们可以将这个过程抽象出一个个step,当然这些step对我们来说都是表象的step,没必要去考虑每个step具体的运行环境和执行流程,画个图吧:

  对于复杂的系统,每个item采用注册机制是最好的,那需要新增一部分模块,我们对于固定的item和固定的step的设计实现思路,即将他们放入一个固定的数组或链表中进行统一的处理。

  先阐述此软件实现需系统提供的基础:

  1)定时器,用于实现回调

  2)定位当前item是否进行step递进的资源,如场景ID (Screen ID)或某索引ID等

  此处我们申请两个定时器,一个用于item的切换,一个用于step的切换,我们这里用伪函数来描述。

  我们定义当前item索引为i,当前step索引为s,先阐述定时器的回调:

void ItemHandler(void)
{
    items[i].DeInit();
    i++;
    if(i>ItemNum)i=0
    
    items[i].Init();//或者应命名为entry
 
    s=0;//reset step index 

 void StepHandler(void)
{
     switch(i)
    {
        case ItemX:
             switch(s)
            {
                case StepX:
                {
                    //do something let step going on
                    s++; 
                } 
                break;
                …… 
            } 
        break
        …… 
    } 
 
}

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号