系统测试模块
一,测试基础
1,什么是软件测试(定义)
使用人工或自动的手段来运行或测量软件系统的过程,以检验软件系统是否满足规定的要求,并找出与预期结果之间的差异,
这里的软件指:软件的源代码,用户手册,配置数据 这些都是软件的构成,都是我们的测试对象
2.软件测试的目的
- 发现被测对象和用户需求之间的差异(俗称,找bug)
- 通过测试活动发现并解决的缺陷,增加人民对被测对象的信心
- 通过测试,获取被测对象的质量信息,为决策提供数据依据
- 通过测试活动,预防缺陷,从而降低产品的风险
3.测试原则
- 测试证明软件存在缺陷
- 不可能进行穷尽测试
- 测试应尽早启动,尽早介入
- 缺陷存在群集现象
- 杀虫剂悖论
- 软件不存在缺陷是个谬论
- 不同的测试活动应该有不同的测试背景
4.测试对象
- 软件源代码
- 与软件源代码匹配的文档
- 支撑软件源代码的配置数据
- 需求阶段:测试需求文档是否正确实现了用户的需求
- 系统设计阶段: 概要设计文档,详细设计文档,检查是否有设计逻辑上的错误
- 编码阶段:测试源代码,发现程序上的错误
- 系统测试阶段:检查对象是否满足用户需求
5.测试级别
- 单元测试:针对被测系统的最小组成单元进行的测试,一般指函数,类,也可能是最小的功能单元
- 集成测试:针对单元,单元与组件,单元之间的接口进行的测试活动,验证接口设计是否与设计相符 ; 集成测试的类型:函数间集成,模块间集成,子系统间集成
- 系统测试:将通过集成测试软件,部署在真实的用户环境下进行的测试 通常指一些:安装测试,卸载测试
- 验收测试:以用户为主的测试,验收人员应该由项目组成员,用户代码组成
验收测试的类型:Alpha 测试:一般指在开发者所提供的环境中进行的测试,由用户来执行;Beta 测试,完全脱离开发者环境,交给用户测试 ;UAT测试:用户接受度测试,
6.系统测试的类型
- 功能性测试:在指定使用条件下,使用被测对象,是否能满足用户显性或隐性需求 :测试关注点:是否有不正确或是遗漏功能;是否满足系统显性和隐性需求;是否对输入输出有正确的显示
- 性能测试:通过模拟被测对象,运行业务压力或使用场景,验证被测对象是否满足性能指标;验证系统是否具有宣称的能力;了解系统运行的真实场景;要求在真实的环境下执行f
- 安全测试: 验证被测对象的安全机制保护系统不受非法侵入
- 兼容性测试:验证被测对象在不同的操作系统,不同的硬件,不同的浏览器下进行的测试
7.软件测试的方法
- 黑盒测试:不关注对象的内部结构,仅从用户需求考虑,被测系统是否能满足用户的显性和隐性需求
- 白盒测试:结构测试,逻辑驱动测试,
- 灰盒测试:既关注被测对象的外部特性,又关注内部设计
- 静态测试:不执行被测对象,不运行被测对象的测试方法
- 动态测试:阅读需求,编写用例
- 手工测试:通过测试工程师试用,验证被测对象是否满足用户需求
- 自动化测试:通过自动化测试工具,或使用脚本语言进行测试活动