系统测试
目标:成功测试发现至今尚未发现的错误的测试
软件测试方法:
静态测试
桌前检查 代码审查 代码走查
动态测试
白盒 :结构性测试
黑盒 :功能性测试
灰盒
测试阶段
单元测试 只能测试一个个模块,独立的测试,测试依据:上一个阶段的软件详细设计说明书
集成测试 测试依据:软件概要设计文档
系统测试 测试依据:用户需求或开发合同 主要内容 功能测试 健壮性测试性能测试用户界面测试安全性测试安装与反安装测试
确认测试 验证软件的功能性能 测试依据:需求文档
根据用户参与程度
内部确认测试
Alpha测试 用户内部开发环境
Beta测试 用户使用环境测试
验收测试 针对SRS(需求规格说明书) 交付用户前以用户为主的测试
配置项测试 软件配置项
*回归测试 测试目的:软件变更之后 变更部分的正确性 1、错误有没有改正2、改后有没有影响别的功能
测试策略
自底向上 例如:先单元测试后集成测试
自顶向下
三明治
测试用例的设计:
主要是黑盒和白盒测试用例的设计
黑盒测试测试用例:
1、等价类划分 设计新的测试用例 使其仅覆盖一个尚未覆盖的无效等价类 直到所有的无效等价类都被覆盖
2、边界值划分
3、错误推测 了解定义就行
4、因果图 了解定义就行
白盒测试测试用例:
覆盖的概念 从低到高
1、语句覆盖 语句执行就行 (框)
2、判定覆盖 所有判断语句的真假分支都要覆盖
3、条件覆盖 每个独立条件都要执行一遍真和假 判定是一个if框这个框里可能有很多条件
(注意:满足条件覆盖不一定满足判定覆盖)
4、条件判定组合覆盖CDC:同时满足
5、路径覆盖 (线+线的组合)
4条路径
调试
蛮力法 回溯法 原因排除法(演绎法 归纳法 二分法)
软件度量
两种属性 外部: 性能指标 内部:本身的属性 质量
McCabe度量法 环路复杂度 有向图的
有向边 m 节点 n m-n+2