软件测试基础
主讲人:张伟
电 话:13581570168
目 录
系统测试
集成测试
单元测试
软件测试概述
测试用例设计及方法
自动化测试
1
软件测试(IEEE定义)
使用人工或者自动的手段来测试软件系统的过程,以检验
软件系统是否满足规定的要求,并找出与预期结果之间的
差异。
软件测试目的
尽可能多地发现软件中的缺陷;
检查软件系统是否满足规格说明/用户的需求;
为软件质量评价提供依据;
确保软件符合行业标准;
为软件开发过程的改进提供支持。
软件测试定义不目的
软件测试的主要对象
文档;
(需求文档、设计文档、用户手册、配置文档等)
程序;
数据。
软件测试主要对象
2
局限1
不可能对程序进行完全的测试。
原因
所需测试的数量巨大;
无法保证测试环境100%满足测试要求;
没有足够的资源彻底完成软件测试。
软件测试的局限性 1
局限2
测试无法说明软件没有缺陷。
原因
无法通过测试确信规格说明100%正确;
在资源制约和技术限制的条件下,无法保证找到软件
中所有的缺陷;
无法确信测试人员完全理解了软件;
无法确信测试系统(或环境)的正确性。
软件测试的局限性 2
3
局限3
发现问题越多地方, 潜在的问题也更多。
原因
缺陷存在聚集效应;
缺陷率水平与开发能力、复杂性等存在关联。
软件测试的局限性 3
确定测试的独立性和组织结构;
确定测试级别;
确定测试方法;
确定测试完成准则;
确定回归测试策略。
软件测试策略
4
独立性级别
开发人员的测试;
专职测试人员的测试;
专职测试团队的测试;
用户的测试;
独立机构的测试。
组织结构与独立性级别匹配
独立性和组织结构
与软件开发过程相适应
单元测试;
集成测试;
软件配置项;
系统测试。
用户需求
系统需求分析
概要设计
详细设计
编码
单元测试
集成测试
配置项测试
和系统测试
验收测试
软件测试级别
5