精品文档
E=Nlog2(n1+n2)/3000
第七章 实现
概念:编码和测试统称为实现。 编码:把软件设计结果翻译成程序。 测试:检测程序并改正错误的过程。
编码
选择程序设计语言
1.计算机程序设计语言基本上可以分为两大类: 1):汇编语言 2):高级语言
2.选择语言时应考虑的实用标准: 系统用户要求 可以使用的编译程序 可以得到的软件工具 工程规模 程序员的知识 软件可移植性要求 软件的应用领域 编码风格 程序内部的文档
.
精品文档
数据说明 语句构造 输入输出 效率
软件测试基础
7.2.1 软件测试的目标 1.有关测试的一些规则:
测试是为了发现程序中的错误而执行程序的过程
好的测试方案是极可能发现迄今为止尚未发现的错误的测试 成功的测试是发现多了至今为止尚未发现的错误的测试 软件测试准则
所有测试都应该追溯到用户要求
应该远在测试开始之前就制定出侧是计划 把Pareto原理应用到软件测试中
应该从“小规模”测试开始,并逐步进行“大规模”测试 穷举测试是不可能的
为了达到最佳的测试效果,应该由独立的第三方从事测试工作 测试方法 黑盒测试 白盒测试 测试步骤 模块测试
.
精品文档
子系统测试 系统测试 验收测试 平行运行
测试阶段的信息流
单元测试
测试重点: 模块接口 局部数据结构 重要的执行通路 出错处理通路 边界条件 代码审查 计算机测试
集成测试
自顶向下集成
自顶向下集成是一种递增的装配软件结构的方法,这种应用方法非常广泛。它需要存根程序,不需要驱动程序。 自底向上集成
自底向上集成是从软件结构最底层模块开始进行组装和测试,它与自顶向下结合方法相反,需要驱动程序,但是不需要存根程序。 不同集成测试策略的比较
.
精品文档
回归测试
包括3类不同的测试用例
检测软件全部功能的代表性测试用例
专门针对可能受修改影响的软件功能的附加测试 针对被修改过的软件成分的测试
确认测试
7.5.1 确认测试的范围
确认测试的两种可能的结果:
功能和性能与用户要求一致,软件是可以接受的 功能和性能与用户要求有差距 软件配置复查 Alpha和Beta测试
Alpha测试由用户在开发者的场所进行,并且在开发者对用户的“指导”下进行测试。
Beta测试由软件的最终用户在一个或多个客户场所进行
白盒测试
逻辑覆盖 语句覆盖 判定覆盖 条件覆盖 判定/条件覆盖 条件组合覆盖
.
精品文档
点覆盖 边覆盖 路径覆盖 控制结构测试 基本路径测试:
步骤:1)根据过程设计结果画出相应的流图 2)计算流图的环形复杂度 3)确定线性独立路径的基本集合
4)设计可强制执行基本集合中每条路径的测试用例 条件测试 循环测试
方法:1)简单循环
2)嵌套循环 3)串接循环
7.7 黑盒测试技术
7.7.1 等价划分 7.7.2 7.7.3
边界值分析 错误推断
7.8 调试
调试过程 调试途径
7.8.1 7.8.2 蛮干法
.