文档介绍:软件测试基础
主题
精选课件
课程内容
软件测试背景
什么是软件测试
软件测试的流程
测试用例及其设计方法
软件测试工具
精选课件
课程目标
了解软件测试工程师的职业要求及特点
掌握软件测试的基本概念
熟悉常用的的软件工程术语中给软件测 试下的定义是:“使用人工或自动的手段来运行或测定某个软件系统或系统部件的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别”。
精选课件
软件测试的对象
软件测试不等于程序测试,软件测试贯穿于软件定义和开发的整个期间。需求分析,概要设计,详细设计,以及程序编码等各个阶段所得到的文档,包括需求规格说明、概要设计规格说明、详细设计规格说明以及源程序,都是软件测试的对象。
精选课件
软件测试的对象
1
2
3
4
5
用户需求
用户:
我要什么?
理解正确性
表达正确性
需求说明书
需求分析员:
我可以提供什么?
设计说明书
设计员:
我要软件做什么?
源程序
程序员:
我要要让计算机怎么做?
运行结果
计算机:
程序运行得到的结果
理解正确性
设计正确性
表达正确性
理解正确性
编码正确性
运行正确性
输入正确性
相符合么?
精选课件
软件测试的目的
基于不同的立场,存在着两种完全不同的测试目的:
从用户(测试人员)的角度出发,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,以考虑是否可接受该产品。
从软件开发者的角度出发,则希望测试成为表明软件产品中不存在错误的过程,验证该软件已正确地实现了用户的要求,确立人们对软件质量的信心。
精选课件
软件测试的目的
想以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷。如果我们成功地实施了测试,我们就能够发现软件中的错误。
测试的附带收获是,它能够证明软件的功能和性能与需求说明相符合。
实施测试收集到的测试结果数据为可靠性分析提供了依据。
测试不能表明软件中不存在错误,它只能说明软件中存在错误。
精选课件
软件测试的原则
测试的目的在于发现错误 ,应尽早地和不断地进行测试
充分注意测试中的群集现象经验表明,测试后程序中残存的错误数目与该程序中已发现的错误数目成正比。
所有的测试都应可追溯到客户需求
穷举测试是不可能的
严格执行测试计划,排除测试的随意性。
应当对每一个测试结果做全面检查。
妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便。
精选课件
软件测试的分类
名称
说明
黑盒测试
基于软件需求,而不是基于软件内部设计和程序实现的测试方式。
白盒测试
基于软件内部设计和程序实现的测试方式。
单元测试
主要测试软件模块的源代码。一般由开发人员而非独立测试人员来执行,因为测试者需要懂得该单元的设计与程序实现,测试者可能需要编写额外的测试驱动程序。
集成测试
将一些“构件”集成一起时,测试它们能否正常运行。这里“构件”可以是程序模块、客户机-服务器程序等等。
功能测试
测试软件的功能是否符合功能性需求,通常采用黑盒测试方式。一般由独立测试人员执行。
系统测试
测试软件系统是否符合所有需求,包括功能性需求与非功能性需求。一般由独立测试人员执行,通常采用黑盒测试方式。
回归测试
指错误被修正后或软件功能、环境发生变化后进行的重新测试。回归测试的困难在于不好确定哪些内容应当被重新测试。
验收测试
由客户或最终用户执行,测试软件系统是否符合需求规格说明书。
精选课件
软件测试的分类
名称
说明
负载测试
测试软件系统的最大负载,超出此负载软件可能会失常。
压力测试
概念上与负载测试相似,叫法不同。
性能测试
测试软件在各种状况下的性能,如在正常或最大负载下的状况。
易用性测试
测试软件是否易用,主观性比较强。一般要根据很多用户的测试反馈信息,才能评价易用性。
安装与反安装测试
测试软件在“全部、部分、升级”等状况下的安装/反安装过程。
恢复测试
测试该系统从故障中恢复过来的能力。
安全性测试
测试该系统防止非法侵入的能力。
兼容性测试
测试该系统与其它软件硬件兼容的能力。
比较测试
通过与同类产品比较,考察该系统的优点、缺点。
Alpha 测试
一种先期的用户测试,此时系统刚刚开发完成。
Beta测试
一种后期的用户测试,此时系统已经通过内部测试,大部分错误已经改正,即将正式发行。
精选课件
软件测试的分类与比较
测试方式
白盒测试:关心软件内部设计和程序实现,主要测试依据是设计文档
黑盒测试:不关心软件内部,只关心输入输出,主要测试依据是需求文档