功能测试小结(一)

  功能测试是所有测试的基础,不管是自动化、性能、安全还是其他方面的测试工作,都需要在功能测试的基础上进行。至今工作七八年了,为以后工作能够更顺利的进行,准备做一个小结。

  测试基本上是从界面、功能、性能、安全性、易用性、兼容性六个方面进行考虑。

  简单来讲,以一个简单的软件作为例子:

    外观界面测试:主要是测试软件界面功能模块的布局是否合理、整体风格是否一致、界面中文字是否正确、命名是否统一,页面是否美观、文字、颜色、图片组合是否完美等;

    功能测试:测试软件所呈现给用户的所有功能点是否都能正常使用和操作,主流程分支流程能否完整运行,对于异常流程能否正确做出反应,是否满足软件需求规格说明书的要求;

    易用性测试:测试软件是否易操作,主观性比较强,站在用户的角度体验软件产品好不好用;

    兼容性测试:测试该软件与其他软件或者不同平台上的运行情况是否正常,例如比较常见的平台兼容性、浏览器兼容,更深一些的软件本身的功能和功能之间,软件和第三方之间的兼容性;

    安全性测试:测试该软件防止非法入侵的能力;

    性能测试:测试软件在不同环境的压力下是否能正常运转,很重要的一个指标是系统响应时间,例如多人同时访问某个网页时,网页是否能在规定时间内打开等指标;

  当然,与之相对的测试用例设计方法也存在不少,举几个比较常用的方法比如:

    等价类划分法:就是将测试的范围划分成几个互不相交的子集,他们的并集是全集,从每个子集选出若干个有代表性的值作为测试用例。

      例如,我们要测试一个用户名是否合法,用户名的定义为:8位数字组成的字符。
      我们可以先划分子集:空用户名,1-7位数字,8位数字,9位或以上数字,非数字(特殊字符或者汉字英文),数字和非数字混合。
      然后从每个子集选出若干个有代表性的值:
      空用户名:“” (无效等价类实例,指对于软件规格说明而言,没有意义的、不合理的输入)
      1-7位数字:”234” (无效等价类实例)
      8位数字:”00000000” (有效等价类实例,能检验程序是否实现了规格说明中所规定的功能和性能)
      9位或以上数字:”1234567890” (无效等价类实例)
      非数字:”abc&!!!” (无效等价类实例)
      数字和非数字混合:“ab123dc2”(无效等价类实例)
      他们6个,就是用等价类划分选出的测试用例。实际上,对于1-7位数字的子集来说,选“234”和“11111”没有本质的区别。
      等价类的划分,最关键的是子集的划分。

    边界值分析法:长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。选出的测试用例,应选取正好等于、刚刚大于、刚刚小于边界的值,           例如,对于在区间min,max的值,测试用例可以记为min,min+,max,max-。

      例如,假定 X 为整数,10≤X≤100,那么 X 在测试中应该取的边界值为:10,11,99,100。
      注:上面只是说边界值,如果是完整的测试,除了边界值外,还需要一个正常值,即12-98之间的任意值。

    错误推测法是指:在测试程序时,人们可以根据经验或直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的测试用例的方法。这种方法没有固定的形式,依靠的是经验和直觉,很多时候,我们都会不知不觉的使用到。

    判定表法(策略表),基于策略表的测试,是功能测试中最严密的测试方法。该方法适合于逻辑判断复杂的场景,通过穷举条件获得结果,对结果再进行优化合并,会得到一个判断清晰的策略表。

      例如,某公司对客户分类标准如下:
      顾客每次订货额在1000元以上(含1000元),信誉好的,订单设“优先”标志;
      信誉不好,但是老客户的,订单设“优先”标志;
      信誉不好,但是新客户的,订单设“正常”标志;
      每次订货额在 1000元以下,订单设“正常”标志。
      绘制的决策表如下:

      
      这里写图片描述
      此表分两大行,两大列,分别用不同的颜色区别。
      浅蓝:列出所有条件(或称为输入)
      浅灰:列出所有结果(或称为输出,行动或决策)
      浅黄:穷举所有条件的组合
      浅绿:根据每一列的条件,判断出结果

    正交实验法:用语言描述正交实验法会很抽象难懂,简单说,就是在各因素互相独立的情况下,设计出一种特殊的表格,找出能以少数替代全面的测试用例。

      其中,上面所说的特殊表格就是正交表,是按照一定规则生成的表。
      虽然说是特殊的表格,实际表现形式跟一般的表格没有什么区别,正交表的主要特征是,“均匀分布,整齐划一”,正是因为“均匀”的,所以才能以少数代替全部。正交表的讲解和图解网上都有不少,属于比较常用的方法,这里就不多述了。

    功能测试用例设计方法还有很多,例如因果图法,状态转换测试法等,他们都略为复杂,像正交实验法一样,有各自的一套东西,不过本质都是通过画图,让我们更好的思考,最后转化成判定表。
  实际上常用的是前面五种方法,包括:等价类划分法、边界值分析法、错误推测法、判定表法、正交实验法。
    
    如果被人问到,在测试这个行业中,最重要的能力是什么,相信会存在很多不同的答案,但是在我心中,测试最重要的其实还是业务分析能力,不管是做功能也好,自动化也好,性能也好,安全也好,最最基础的都是必须要将被测产品的业务理解完全,才能开展 后续的工作,上面所说的测试点考虑方面、用例设计方法,如果不是建立在业务吃透的情况下,就算测试通过了,估计上线后也是会存在不少问题,更有可能出现重大测试事故。为了提醒自己不要忘记这个重点,提笔写下了这篇总结,后续将会对测试点的六个方面进行详解,也是对自己的一个总复习吧。

 

 

    

    

posted @ 2021-05-26 10:37  桂木  阅读(285)  评论(0编辑  收藏  举报