软件测试基础

 

目录

一、概论

二、流程

        1.流程概述:

        2.测试执行的步骤

                (1)单元测试:对程序模块进行测试

                (2)集成测试:对模块连接成系统的过程进行测试

                (3)确认测试:

                (4)验收测试:

三、黑盒测试

四、白盒测试

1.逻辑覆盖

a.语句覆盖

b.判定覆盖

c.条件覆盖

d.条件/判定覆盖

e.条件组合覆盖

f.路径覆盖

2.路径分析

五、面向对象测试

六、软件测试管理


一、概论

二、流程

        1.流程概述:

                测试计划:根据用户需求报告中的功能需求和性能指标的规格说明书,定义相应的测试需求报告,同时适当选择测试内容,合理安排测试人员和测试时间、资源等

                测试设计:将测试需求分解、细化为若干个可执行的测试过程,并为每个测试过程选择适当的测试用例,保证测试结果的有效性

                测试开发:建立可重复使用的自动化测试过程

                测试执行:执行自动化测试过程,并对发现的缺陷进行跟踪管理。一般由单元测试+集成测试+确认测试+验收测试等步骤组成

                测试评估:结合量化的测试覆盖域及缺陷跟踪报告,对应用软件质量和开发团队的工作进度及工作效率进行综合评价

        2.测试执行的步骤

                (1)单元测试:对程序模块进行测试

                        主要有五个任务:模块接口测试、局部数据结构测试、执行路径测试、错误处理测试和边界条件测试;

                        通常单元测试在编码阶段进行,源代码编制评审和验证完成后开始设计单元测试的测试用例

                        使用辅助模块模拟其他相关模块;

                                驱动模块:模拟被测模块的上一级模块,用于接收测试数据后传送给被测模块、启动被测模块和输出实测结果

                                桩模块:模拟被测模块工作过程中所调用的模块,只做很少数据处理

                (2)集成测试:对模块连接成系统的过程进行测试

1.非增量测试方法:对一步到位连接好的程序进行测试

2.增量测试方法:

        自顶而下:优点是自然地做到逐步求精,让测试者一开始就了解到系统的框架;缺点是需要提供模拟被调用的子模块,它可能不能反映真实测试情况,因此测试可能不充分

        自底而上:由于驱动模块模拟了所有调用参数,测试数据没有困难,缺点在于最后一个模块加入了才知道系统的框架

        三明治法:把系统化为三层,中间层为目标层,目标层上层自顶而下、下层自顶而上进行集成测试最后对目标层测试

                (3)确认测试:

        有效性测试+软件配置审查

        有效性测试:在模拟的环境下,运用黑盒测试的方法,验证被测软件是否满足需求规格书所列出的需求

        软件配置审查:保证软件配置的所有成分,包括与实际运行环境中的整个系统的支持环境都应齐全,各个方面的质量都符合要求

                (4)验收测试:

α测试和β测试

        α测试:由一个用户开发环境下测试或公司内部的用户在模拟实际操作环境下的测试;

                是在受控环境下测试;

                目的是评价产品软件的FURPS(功能、可使用性、可靠性、性能和支持)。尤其注重产品的界面和特色

        β测试:由多个用户在一个或多个的实际使用环境下进行的测试;

                是在开发者无法控制的环境下进行的测试   ;

                着重于产品的支持性,包括文档、客户培训和支持产品生产能力;

                只有α测试达到一定可靠程度时才可以开始;

                意义:a.广告效应 b.调查市场 c.查找BUG

        回归测试:验证已变更的系统的完整性与正确性的测试技术

                两个策略:

                        完全重复测试

                        选择性重复测试

        

三、黑盒测试

1.概念

        黑盒测试也叫功能测试,它把程序看作不能打开的黑盒子,在完全不考虑程序内部结构和特性的情况下对程序进行测试,只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能恰当地接收输入数据而产生正确的输出信息。

测试用例设计技术如下:

2.等价类划分

3.边界值分析

4.决策表

5.因果图

6.场景法

四、白盒测试

1.逻辑覆盖

a.语句覆盖

        选择足够多的测试数据,使每条语句至少执行一次

        仅对程序逻辑中的显式语句,对隐藏条件无法测试

b.判定覆盖

        设计测试用例,使程序中的每个判定至少分别取“真”分支和“假”分支经历一次,既判断真假值均被满足

c.条件覆盖

        设计测试用例,使程序中的每个条件的可能取值至少至少满足一次

        只能保证每个条件至少有一次为真,而不考虑所有判定的结果

d.条件/判定覆盖

        同时满足条件和判定两种覆盖标准

e.条件组合覆盖

f.路径覆盖

        选择足够多的测试用例,使得程序中所有可能的路径都至少被执行一次

        缺点:随着代码复杂度的增加,测试工作量呈指数型增长

2.路径分析

p57页

五、面向对象测试

封装性影响测试

继承性影响测试

多态性影响测试

六、软件测试管理

七、测试自动化和测试工具

1.概述

(1) 手工测试局限性 P104

(2)分层自动化测试思想

(3) 手工测试局限性 P105

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值