测试用例和测试分类

一、测试用例的设计方法

1.基于需求的设计方法(总体设计方法):使测试更加有效,因为她使测试专注于质量问题产生的根源。

基于需求的测试的关注点:1) 验证需求是否正确,完整,没有二义性,并且逻辑一致。

                                            2) 设计出充分必要的测试集,以保证设计和代码都能完全符合需求。

2.具体的设计方法

1) 等价类:依据需求将输入划分成若干个等价类。从等价类中选出一个测试时用例,如果这个测试用例通过,则认为所代表的这个等价类测试通过。

有效等价类:对于程序的规格说明书是合理的,有意义的输入数据构成的集合。

无效等价类:根据需求说明书,不满足需求的集合。

2) 边界值:对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为等价类划分的补充。

 例如:[ 1,50 ]   0,1, 50, 51

            (1, 50 ]   1, 2, 50 ,51

            ( 1 , 50 )    1, 2, 49, 50

3) 因果图 :一种简化了的逻辑图,能直观地表明程序输入条件(原因)和输出动作(结果) 之间的相互关系。特别适用于被测试程序具有多种输入条件,程序的输出又依赖于输入条件的各种情况

测试用例和测试分类_第1张图片

3.正交排列

1)概念:是一种基于正交表的,高效的,快速,经济的试验。

2)目的:减少测试用例数目,用尽量少的用例覆盖输入的两两组合。

3) 因素(Factor):再一项试验中,凡是要考察的变量。

4) 水平(位级)(level):在试验范围内,因素被考察的值(变量的取值

正交表的构成 :

行数(Runs):正交表中行的个数,即试验的次数,用N代表。

因素数(Factors):正交表中列的个数,用C代表。

水平数:任何单个因素能够取得的值得最大个数。用T代表 。

正交表的两条性质:

每一列中 各数字出现的次数一样多。

任何两列中构成的各列各有序数对出现的次数一样多。

正交法设计测试用例的步骤:

(1)有哪些因素(变量 )

(2)每个因素有哪几个水平(变量的取值)

(3)选择一个合适的正交表

(4)把变量的值映射到表中

(5)把每一行的各因素水平组合作为一个测试用例

(6)加上自己认为可疑且没有在表中 出现的用例组合。

4.场景分析法(业务流程):用业务流程把各个孤立的功能点串起来,为测试人员简历整体业务感觉,从而避免陷入功能细节忽视业务流程要点的错误倾向。

5.错误猜想法:猜想的经验可能来自于对某项业务的测试较多,也可能来自售后用户的反馈意见,或者从管理库中整理bug.

二、测试用例的粒度和评价

1.粒度:指测试用例编写的详细程度。

2.如何评价测试用例

1)同行评审

2)用户检查

3) 项目组评审

三、测试分类

测试用例和测试分类_第2张图片

1.按开发阶段来分

测试用例和测试分类_第3张图片

1)单元测试:是对软件组成单元进行测试,其目的是检验软件基本组成单位的正确性。测试的对象是软件设计的最小单位:模块

2)集成测试:将程序模块采用适当的集成策略组装起来,对系统的借口及集成后的功能进行正确性检测的测试工作,继承的主要目的是检查软件单元之间的接口是否正确。

3)系统测试:包括对功能、性能以及软件所运行的软硬件换将进行测试,时间大部分在系统测试执行阶段,包括回归测试和冒烟测试。

   回归测试:指修改了旧代码后,重新进行测试以确定修改没有引入新的错误或导致其他代码产生错误。

  冒烟测试:对象是每一个新编译的需要正式测试的软件版本,目的是确认软件基本功能正常,可以进行后续的正式 测试工作。

                     冒烟测试的执行者是版本编译人员。

   注意:冒烟测试---->系统测试--->回归测试

4) 验收测试:是不输入案件之前的最后一个测试操作。它是测试技术的最后一个阶段。验收测试的目的是确保软件准备就绪,按照项目合同,任务书,双方约定的验收依据文档,向软件购买者展示软件系统满足原始的需求。

2.按测试实施组织划分

 1) α测试:是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际环境下进行的测试。

    α测试的目的:评价软件产品的FLURPS(即功能、局域化、可使用性、可靠性、性能和支持)。 

 2) β测试:是一种验收测试。β测试由软件的最终用户们在一个或多个场所进行。

    α测试和β测试的区别

 测试用例和测试分类_第4张图片

3) 第三方测试:软件评测机构独立的进行测试。

3.按测试对象划分

  1) 性能测试:检查系统是否满足需求规格说明书中规定的性能。

  2)安全测试检查该项目的安全性。

  3) 兼容性测试:指软件之间能否很好地运作,会不会有影响,软硬件之间能否发挥很好的效率工作

  4)文档测试:检查文档的正确性,完整性,一致性,易用性。

  5) 易用性测试(用户体验测试):是交互的适应性,功能性和有效性的集中体现。

  6) 业务测试:测试人员把系统各个模块串接起来,模拟真实用户的工作流程,满足用户需求定义的功能来测试的过程。

  7)界面测试(UI测试):布局是否合理,风格是否一致,位置是否符合习惯,命名是否统一等。

  8) 安装测试

   9)内存泄漏测试

4.按是否查看代码划分

  1)黑盒测试:即功能测试。只关心它的功能,不关心它内部实现的逻辑代码。

     黑盒测试包括:等价类,因果图,边界值,猜错法,随机数法,测试用例覆盖,输入覆盖,输出覆盖。

  2) 白盒测试:即结构测试。只关心它的代码实现逻辑,不关心它的功能。(测试代码)

     接口测试是白盒测试的一种。

     白盒测试包括:语句覆盖,判定覆盖(分支覆盖),条件覆盖,判定/条件覆盖,组合覆盖,路径覆盖。

  3)灰盒测试:介于黑盒测试和白盒测试之间的一种测试方法。既关心输入输出的正确性,又关心程序内部的情况。

      灰盒测试多用于集成测试阶段

5.按测试执行方式划分

  1)静态测试:不通过运行被测程序本身。仅通过分析或检查源程序的语法、结构、过程、接口来检查程序的正确性。

  2) 动态测试:通过运行被测程序。检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性。

6.按是否手工执行划分

   1) 手工测试:由人一个一个的输入用例,然后观察结果,和机器测试相对应,属于比较原始但是必须的一个步骤。

   2) 自动化测试:把人为测试转化为机器执行的一种过程。

    自动化实施步骤:
    ①完成功能测试,版本基本稳定。

    ②根据项目特性,选择合适项目的自动化工具,并搭建环境。

    ③提取手工测试的测试用例转化为自动化测试的用例。

    ④通过工具,代码实现自动化的构造输入,自动检测输出结果是否符合预期结果。

    ⑤生成自动化测试报告。

    ⑥持续改进,脚本优化。

7.按测试地域划分

   1)本地测试

   2) 国际化测试

四 、测试管理

1.测试策略:测试的大体规划。用什么方法,什么工具,什么资源来测试什么东西。

2.需求分析的注意事项

  1) 测试应该尽早的介入

  2) 不断变化的需求需要及时的收集和整理。

  3) 没有需求文档时,需要测试人员不断的收集原始的客户需求。

  4) 应有质疑,坚持精神,当需求不明确时,我们可以将需求追溯到终端客户。

3.需求分析的具体方法

 1) 快速理解需求的捷径:需求串讲(主要解决的问题:需求理解的不一致)

 2) 验证需求  (需求文档也要测试:正确性、必要性、完整性、一致性)

 3)从设计需求中提取测试需求

  

你可能感兴趣的:(测试)