软件测试的基础知识分享

  • 格式:pdf
  • 大小:156.62 KB
  • 文档页数:3

软件测试的基础知识分享

软件测试基础知识分享

1,软件测试的⽬的

1)找问题:找出软件中存在的各种错误和缺陷

2)说改进:根据⽤户体验,提出⼀些改进

3)察漏洞:在需求评审以及需求梳理时,尽可能多的发掘需求漏洞,提前规避

4)提能⼒:在测试完成后,进⾏项⽬总结,数据整理,发现整个项⽬组或者某个开发的弱项,有助于其进⾏专项提

2,软件测试的原则

1)所有的软件测试都应该追溯到⽤户需求

2)应当把“尽早的和不断的进⾏软件测试”作为软件测试者的座右铭,这也是为什么现在很多企业在从瀑布模式转变成敏捷模式,将⼀个⼤项

⽬拆成⼩迭代,测试同学也可以提前介⼊,提前发现bug,开发及时修改。3)完全测试是不可能的,测试需要终⽌。主要有三个原因:输⼊量太多、输出结果太多、路径组合太多;路径组合近似天⽂数字,并且测试

是有成本的,越是测试后期,为发现错误所付出的代价越⼤4)测试⽆法显⽰软件潜在的缺陷,也就是说测试只能证明软件存在错误⽽不能证明软件没有错误

3,测试⽤例的定义

就是设计⼀个情况,软件程序在这种情况下,必须能够正常运⾏并且达到程序所设计的执⾏结果测试⽤例由⽤例标题-步骤-期望结果组成

4,测试⽤例设计的⽬的

1)在开始实施测试之前设计好测试⽤例,可以避免盲⽬测试并提⾼测试效率。

2)测试⽤例的使⽤令软件测试的实施重点突出、⽬的明确。

3)在软件版本更新后只需修正少部分的测试⽤例就可以展开测试⼯作,降低⼯作强度,缩短项⽬周期。

4)功能模块的通⽤化和复⽤化使软件易于开发,⽽测试⽤例的通⽤化和复⽤化会使软件测试易于开展,并随着测试⽤例的不断精化其效率也

不断攀升。

5,测试⽤例设计的原则

1)测试⽤例的代表性:能够代表各种合理和不合理的、合法和不合法的、边界和越界的、以及极限的输⼊数据、操作和环境设置等

2)测试结果的可判定性:即测试执⾏结果的正确性是可判定的或可评估的

3)测试结果的可再现性:即对同样的测试⽤例,系统的执⾏结果应当是相同的

6,测试⽤例设计的⽅法

设计测试⽤例有很多种⽅法,今天就分享⼏种⽐较常⽤的

等价类划分法

等价类划分法:是⼀种典型的⿊盒测试⽅法,是把所有可能的输⼊数据,划分成若⼲部分,然后从每⼀部分中选取少数有代表性的数据作为

测试⽤例。它将不能穷举的测试过程进⾏合理分类,从⽽保证设计出来的测试⽤例具有完整性和代表性。包括有效等价类和⽆效等价类

采⽤等价类划分法设计测试⽤例的步骤如下:

①确定定价类:有效等价类,⽆效等价类

②选取等价类的代表数据

③给等价类编号,并设计测试⽤例

举例如下:需求:定容是不超过5位的整数

划分等价类,并编号

编写⽤例1)定容输⼊框可正常输⼊0-99999的整数:0,9999,1,99998,80

2)定容输⼊框不可输⼊⼩于0或者⼤于99999的数:-1,100000,-60,10000001

3)定容输⼊框可正常处理中⽂:蔡蔡

4)定容输⼊框可正常处理英⽂:caicai5)定容输⼊框可正常处理特殊符号,空格:@#!¥%……&*·‘?\”/

6)①~⑥等价类任意组合进⾏测试,系统可正常处理,不会崩溃或报:系统异常

边界值分析法

边界值分析法也是⼀种典型的⿊盒测试⽅法,经常和等价类划分法组合使⽤,边界值和次边界值都是编写测试⽤例考虑的,边界值选择的原

则:1、如果输⼊条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输⼊数据

2、如果输⼊条件规定了值的个数,则⽤最⼤个数、最⼩个数、⽐最⼩个数少1、⽐最⼤个数多1的数作为测试数据

为什么要测试边界?

长期的测试⼯作经验告诉我们,⼤量的错误是发⽣在输⼊或输出范围的边界上,⽽不是发⽣在输⼊输出范围的内部。

例如:1)程序员只处理了1-10位的情况,忘记对10位进⾏处理;

2)程序员把≤误写成了<,计数器发⽣少计数⼀次。

错误推测法

测试⼈员根据直觉或经验推测程序中可能存在的各种错误,从⽽有针对性地编写检查这些错误的测试⽤例,这种测试⽅法叫做错误推测法,

但对测试⼈员能⼒要求较⾼。

特点:1)⾼度主观性

2)相⽐其他⽅法产⽣的测试集合,更容易发现缺陷

场景法

主要⽤于测试软件的业务流程和业务逻辑,是⼀种基于软件业务的测试⽅法,测试⼈员要把⾃⼰当成最终⽤户,尽可能真实的模拟⽤户在使

⽤该软件时的各种情景。󰀀重点模拟两类操作:

1、模拟⽤户正确的业务操作流程----验证软件的业务功能是否能够正确实现

2、模拟⽤户错误的业务操作过程----验证软件的异常处理能⼒(健壮性)

使⽤场景法测试的思路:

场景法就是模拟⽤户操作软件时的各种场景,⽤来测试软件的业务逻辑和流程。当拿到⼀个测试任务时,我们并不是先关注某个控件的等价

类,边界值这些细节,⽽是先关注整个功能的业务逻辑和业务流程是否正确实现,这就需要使⽤场景法来测试完成。当整体业务流程和主要

功能没有问题时,我们再从控件的细节去进⾏测试,使⽤等价类,边界值等⽅法。(先整体再细节)

因果图法

因果图:就是通过画图的⽅式来表⽰输⼊条件(因)和输出结果(果)之间的关系。 如果输⼊情况有各种组合,或各个输⼊和输出之间有相

互制约关系,这时可以采⽤因果图法解析因果图法:

图形符号:1、基本图形符号—表达的是因和果之间的关系2、限制图形符号—表达的是因之间或果之间的限制关系

唯⼀和互斥的区别:唯⼀和互斥都是单选,但唯⼀必须要选⼀个;⽽互斥可以不选,如果选只能选⼀

实例:⼀卡通充值模拟系统

步骤1:了解需求,找出所有的输⼊条件(因)

投币50元

投币100元

充值50元

充值100元

步骤2:找出所有的输出结果(果) 成功充值并退卡

找零

错误提⽰并退卡将因和果填⼊判定表中:

根据判定表写⽤例(此处只举例2条⽤例)

总结下使⽤因果图法测试步骤 步骤1:分析需求,找出所有的输⼊条件

步骤2:找出所有的输出结果

步骤3:找出输⼊条件中的所有组合和限制关系

步骤4:明确每种输⼊组合对应的输出结果,填判定表,画因果图

步骤5:根据判定表,写出测试⽤例

正交排列法

前⾯因果图⽅法中已经⽤到了判定表,判定表是分析和表达多逻辑条件下执⾏不同操作的情况的⼯具。它可以把复杂的逻辑关系和多种条件

组合的情况表达的较明确。

测试⼤纲法(测试提纲法)

程序中有多个窗⼝,窗⼝中有多个操作,多个窗⼝的操作之间有⼀定的关系,威⼒理清窗⼝之间的关系,可以使⽤ 测试⼤纲法。

测试⼤纲法的使⽤步骤:1、分析需求,列出所有窗⼝以及每个窗⼝中的操作----列⼤纲(可以⽤⽂字,也可以画图----思维导图)

2、根据⼤纲,理清窗⼝操作间的关系,编写⽤例