软件测试基础概念

测试是最有效的排除和防止软件缺陷与故障的手段

一、软件测试概述

1.1、软件缺陷

概念:计算机系统/程序中存在任意一种会导致软件产品不满足于用户的需要。

常见的分类如下:

(1)软件未实现产品说明书要求的功能。
(2)软件出现了产品说明书指明不会出现的错误。
(3)软件超出实现了产品说明书提到的功能。
(4)软件实现了产品说明书虽未明确指出但应该实现的目标。
(5)软件难以理解,不易使用,运行缓慢或者终端用户认为不好。

原因:技术问题、团队问题、软件本身
根据软件开发各阶段的规格说明和程序的内部结构而精心设计出一批测试用例,并利用测试用例来运行程序,以发现程序错误的过程,正确认识测试的目的是十分必要的。


1.2、测试用例

软件测试的本质就是针对要测试的内容确定一组测试用例。

测试用例基本信息

(1)在执行测试用例之前,应满足的前提条

2)输入(合理的、不合理的)
(3)预期输出(包括后果和实际输出)


1.3、软件测试的分类

一、测试用例角度:

1、静态测试——人工测试程序代码的审查。(不运行测试代码/程序)

2、动态测试:a、黑盒测试(功能测试)——检测程序各个功能是否实现(用户角度)

                        b、白盒测试(结构测试)——根据程序内部结构设计测试用例(开发者角度)

二、测试过程角度:

                        a、静态测试:可行性评审、需求评审、设计评审

                        b、单元测试(beta)——最小的测试单元,确保每个模块能正常
工作。(多数白盒测试)
                        c、集成测试——对已测试过的模块进行组装,进行集成测试的目的主要在于检验与软件设计相关的程序结构问题。(多数黑盒测试)

                        d、确认测试——检验软件能否满足所有功能和性能需求(多数黑盒测试)
                        e、系统测试——检测被测软件与系统的其他部分的协调性。
                         f、验收测试——从用户的角度检验软件产品的质量


二、软件测试方法

2.1、静态测试

静态测试,就是不需要执行所测试的程序,而只是通过扫描程序正文,对程序的数据流和控制流等信息进行分析,找出系统的缺陷,得出测试报告。

测试活动(角度出发点):

(1)检查算法的逻辑正确性,确定算法是否实现了所要求的功能。
(2)检查模块接口的正确性,确定形参的个数、数据类型、顺序是否正确,确定返回值
类型及返回值的正确性。
(3)检查输入参数是否有合法性检查。
(4)检查调用其他模块的接口是否正确,检查实参类型、实参个数是否正确,返回值
是否正确。
(5)检查是否设置了适当的出错处理,以便在程序出错时,对出错部分进行重做安排
(6)检查表达式、语句是否正确,是否含有二义性。
(7)检查常量或全局变量使用是否正确。
(8)检查标识符的使用是否规范、一致,
(9)检查程序风格的一致性、规范性,代码是否符合行业规范
(10)检查代码是否可以优化,算法效率是否最高。
(11)检查代码注释是否完整,是否正确反映了代码的功能


2.2、动态测试

动态测试,通过运行软件来检验软件的动态行为和运行结果的正确性。目前,动态测试也是软件公司进行测试工作的主要方式(黑盒测试、白盒测试)

测试基本步骤:

(1)选取定义域有效值,或定义域外无效值
(2)对已选取值决定预期的结果。
(3)用选取值执行程序。
(4)执行结果与预期的结果相比较


2.3、黑盒测试

黑盒测试又称为功能测试、数据驱动测试和基于规格说明的测试,是一种从用户观点
出发的测试属于穷举输入测试。注重功能需求,用于接口测试。

特点:(1)黑盒测试,软件实现的过程发生变化时,测试用例仍可使用。
           (2)黑盒测试用例的设计可以和软件实现同时进行,能够压缩开发时间。

发现问题:(1)是否有不正确的功能,是否有遗漏的功能。
                  (2)在接口上,是否能够正确地接收输入数据并产生正确的输出结果。
                  (3)是否有数据结构错误或外部信息访问错误。
                  (4)性能上是否能够满足要求。
                  (5)是否有程序初始化和终止方面的错误。

黑盒测试方法:a、等价类划分法 b、边界值分析法 c、决策表法  d、因果图法


2.4、白盒测试

白盒测试也称作结构测试或逻辑驱动测试,知道产品内部工作过程,通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,主要用于软件验证,属于穷举路径测试——基于覆盖率的测试,验证系统设计主要用于单元测试。

白盒测试方法:  逻辑覆盖、基本路径测试

程序结构覆盖a、语句覆盖;  b、判定/分支覆盖; c、条件覆盖;d、判断/条件覆盖; e、条件组合覆盖; f、路径覆盖。

  • 24
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值