• 软件测试(系统测试的流程)


    一.制定测试计划:

    1.制定测试计划的目的

    明确被测对象,确定测试的范围,确定测试的任务,确定测试目标,明确检测的标准等等

    2.测试计划包括

    • 测试资源需求
    1. 软件资源

    操作系统资源:windows,Uinux,Unix,MAC

    数据库资源:SqlServer MySQl  Oracle ,Sybase,DB2

    web服务器:IIS,Tomcat,JBOSS,RESIN,Weblogic,Subtopic,Websphere

    虚假版本号

            2.硬件资源

     硬件服务器

     手机

     平板

     测试设备(其他测试资源,人员需求)

    • 测试组织形式(测试团队,研发团队的组织形式,出现问题后找谁去汇报)
    • 测试对象
    • 测试通过/失败标准
    • 测试挂起(即暂停)/回复测试
    • 测试风险及返工
    • 测试任务安排
    • 应交付的测试工作产品
    • 资源分配:培训需求;测试工具开发

    二.需求分析

    1. 分析需求来源:需求规格说明书   ;开发需求  ;继承性需求  ;竞品分析; 经验家的学习
    2. 需求分类:
    • 功能性需求
    • 性能需求
    • 外部接口需求:GUI,外部调用接口程序
    • 根据软件质量特性划分需求比如安全性,效率,可移植,可维护

    三.测试的流程设计

    •  测试需求变更控制流程
    •  测试用例变更设计流程
    •  测试环境搭建流程
    •  缺陷管理流程 

    四.测试用例的设计

    • 等价类
    • 边界值
    • 错误推测
    • 判断表
    • 正交实验
      1.等价类划分法
      顾名思义,等价类划分,就是将测试的范围划分成几个互不相交的子集,他们的并集是全集,从每个子集选出若干个有代表性的值作为测试用例。
      例如,我们要测试一个用户名是否合法,用户名的定义为:8位数字组成的字符。
      我们可以先划分子集:空用户名,1-7位数字,8位数字,9位或以上数字,非数字。
      然后从每个子集选出若干个有代表性的值:
      空用户名:“”      (无效等价类实例,指对于软件规格说明而言,没有意义的、不合理的输入)
      1-7位数字:"234"       (无效等价类实例)
      8位数字:"00000000"    (有效等价类实例,能检验程序是否实现了规格说明中所规定的功能和性能)
      9位或以上数字:"1234567890"    (无效等价类实例)
      非数字:"abc&!!!"                (无效等价类实例)
      他们5个,就是用等价类划分选出的测试用例。实际上,对于1-7位数字的子集来说,选“234”和“11111”没有本质的区别。
      等价类的划分,最关键的是子集的划分。实际上,非数字还可以继续划分子集:字母,特殊字符。
      究竟要划分到何种程度才合适呢?我请教过做测试的朋友,他的意见是,看你有多少资源和时间,还有,看是否值得。
      对此,我表示赞同,毕竟无论你怎么测试,总会有未发现的缺陷存在,所以,先解决容易被发现的问题再说。
          
          
            2.边界值分析法
      长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错            误。选出的测试用例,应选取正好等于、刚刚大于、刚刚小于边界的值,例如,对于在区间min,max的值,测试用例可以记为min,min+,max,max-。
      例如,假定 X 为整数,10≤X≤100,那么 X 在测试中应该取的边界值为:10,11,99,100。
      注:上面只是说边界值,如果是完整的测试,除了边界值外,还需要一个正常值,即12-98之间的任意值。
          
          3.错误推测法
      错误推测法是指:在测试程序时,人们可以根据经验或直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的测试用例的方法。
      这种方法没有固定的形式,依靠的是经验和直觉,很多时候,我们都会不知不觉的使用到。
     
           
       4.判定表法
      又称为策略表,基于策略表的测试,是功能测试中最严密的测试方法。该方法适合于逻辑判断复杂的场景,通过穷举条件获得结果,对结果再进行优化合并,会得到一个判断清          晰的策略表。
      例如,某公司的对客户分类标准如下:
      顾客每次订货额在 1000元以上(含1000元),信誉好的,订单设“优先”标志;
      信誉不好,但是老客户的,订单设“优先”标志;
      信誉不好,但是新客户的,订单设“正常”标志;
      每次订货额在 1000元以下,订单设“正常”标志。
      绘制的决策表如下:
          

       

           此表分两大行,两大列,分别用不同的颜色区别。
      浅蓝:列出所有条件(或称为输入)
      浅灰:列出所有结果(或称为输出,行动或决策)
      浅黄:穷举所有条件的组合
      浅绿:根据每一列的条件,判断出结果
      因为穷举了所有条件,所以可以说这个判断是100%正确的。下一步是对这个表进行合并优化。
       例如,从编号为1,2的列可以看出,顾客订单>=1000,信誉好,不管是新顾客还是老顾客,都设为优先,于是上面的表合并整理后,得到下表

          

            这样,我们就可以得到更清晰的逻辑判断,也可以更好的协助我们编写测试用例。而决策表,对于开发人员来说一样有用。
      从上面的表格,我们就可以写出更简洁的判断语句。
         
     
          
      5.正交实验法
      用语言描述正交实验法会很抽象难懂,简单说,就是在各因素互相独立的情况下,设计出一种特殊的表格,找出能以少数替代全面的测试用例。
      其中,上面所说的特殊表格就是正交表,是按照一定规则生成的表。
      虽然说是特殊的表格,实际表现形式跟一般的表格没有什么区别,正交表的主要特征是,“均匀分布,整齐划一”,正是因为“均匀”的,所以才能以少数代替全部。
      例如:
      某所大学通信系共2个班级,刚考完某一门课程,想通过“性别”、“班级”和“成绩”这三个查询条件对通信系这门课程的成绩分布,男女比例或班级比例进行人员查询。
      按照传统的方式,我们将会穷举所有的组合,来编写测试用例,组合个数是2*2*2=8。
      排列组合参见下表
      当组合条件不多的时候,穷举暂时没问题,但是,一旦条件多了,组合个数就会以指数形式增长。
      这个时候,就要用到正交表了,通过选出有代表性的测试实例,达到以少数代替全面的效果。
      正交表如何设计呢,这个问题实际很复杂,涉及到组合统计的数学知识,有的正交表甚至到目前为止,还未得出算法。
      我们只能通过已知的模型套上去。
      例如,Dr. Genichi Taguchi 设计的正交表
      https://www.york.ac.uk/depts/maths/tables/orthogonal.htm
      Technical Support ( support.sas.com ) com 提供的
      http://support.sas.com/techsup/technote/ts723_Designs.txt
      首先,我们来看看基本的概念。
      因素:被测的元素称为因素,例如上面的性别,班级,成绩,均为因素,因素的个数我们记为k,此处k=3
      水平:因素的可能值,称为水平。例如班级的可能值为1或2。水平的个数我们记为m,此处正好每个因素的水平都是2,此处m=2。
      那么正交表的行数n的计算公式为,n=k*(m-1)+1,此处为n=3*(2-1)+1=4。即共有4行。
      我们通常用L表示这个正交表,完整的表示为Ln(mk)
      如果每个因素的水平数相等,我们称之为单一水平正交表,例如本例子就是,L4(23)
      各列水平数不完全相同的正交表称为混合水平正交表。如L8(4124),表示有一个因素的水平为4,有4个因素的水平为2。
      按照这个表达式,我们可以去套用已知的正交表。例如本例子是L4(23),从上面提供的两个链接均可以查到例子,虽然表达方式略有不同,但实际是一样的,我们从                http://support.sas.com/techsup/technote/ts723_Designs.txt 查到,其正交表的格式为:
      23     n=4
      000
      011
      101
      110
      此处0,1是对可能值的编号,例如,我们可以将(0,1)分别映射为(女,男)(1班,2班)(及格,不及格)
      按照上面的格式,
      000:女  1班  及格
      011:女  2班  不及格
      101:男  1班  不及格
      110:男  2班  及格
      这就是我们所得到的正交表。
      6.总结
      功能测试方法还有很多,例如因果图法,状态转换测试法等,他们都略为复杂,像正交实验法一样,有各自的一套东西,不过本质都是通过画图,让我们更好的思考,最后转化成判定表。
      实际上常用的是前面五种方法,包括:等价类划分法、边界值分析法、错误推测法、判定表法、正交实验法。
     
     五.执行测试用例:
    1. 预测试阶段:冒烟测试:利用一袋烟的时间,对被系统进行一个快速的测试,目的是验证基本的核心功能是否可以正常使用
    2. 系统测试   :经过预测试后执行系统测试,测试执行过程中发现缺陷,则需及时记录

     六、跟踪缺陷

    七.测试日报及周报

     
     
    生而为人,与众不同
  • 相关阅读:
    core dump相关
    编译与链接的问题
    shell和awk配合使用
    cybergarage-upnp
    miniupnpc
    openssl
    在 linux 下使用 CMake 构建应用程序
    Ubuntu下的多线程下载工具:MultiGet;并与 Firefox 建立关联 uget
    嵌入式web服务器-thttpd
    Android_Layout_xml布局
  • 原文地址:https://www.cnblogs.com/zhang-jun-jie/p/9261356.html
Copyright © 2020-2023  润新知