实现与测试
1.选择程序设计语言应考虑那些因素
高级语言优于汇编语言
系统用户的要求
可以使用的编译程序
可以得到的软件工具
工程规模
程序员的知识
软件可移植性要求
软件的应用领域
2.良好的编程风格包括那些方面:
源程序文档化
数据说明规范化
语句结构简单而简洁
输入/输出方法
效率(程序运行时间、存储器效率、输入/输出效率)
3.软件测试的目的:
- 用户:暴露软件隐藏的错误和缺陷
- 开发者:尽可能表明软件产品中不存在错误
测试不能表明软件中不存在错误
4.初步测试计划是在哪个阶段制定的:
需求分析
5.黑盒测试与白盒测试:
黑盒 | 已知产品功能检验每个功能是否都正常使用 |
---|---|
白盒 | 已知产品内部工作过程,检验产品内部动作是否按规定正常使用 |
6.测试步骤:
模块测试 | 单元测试 |
---|---|
子系统测试 | 测试模块接口 |
系统测试 | 与子系统测试合称集成测试 |
验收测试 | |
平行运行 |
7.单元测试:
测试重点:
模块接口
局部数据结构
重要的执行通路
出错的处理通路
边界条件
8.集成测试:
渐增式与非渐增式测试
类型 | 特点 | 优点 | 缺点 |
---|---|---|---|
非渐增式 | 对各模块进行测试后将所有模块一次性组装后进行测试 | 充分利用人力 | (1)较晚发现错误 (2) 错误难定位 |
渐增式 | 对各个模块进行分别测试后,将模块逐步组装成较大的系统 ,组装过程中边连接边测试。 | (1)较早发现接口错误(2)错误往往跟新接口有关 | 较费时 |
9.渐增式测试集成方案:
(1)自顶向下
沿控制层次自顶向下进行组织
按深度方向结合
不需驱动程序,但需要替代下层程序的
根程序,可较早发现上层错误
可较早验证主要控制和判定点
没有重要的数据自下往上流
(2)自下而上
和上面的相反
(3) 混合
首先测试输入输出模块及新算法
后自底向上组装,自顶向下测试
10.确认测试:
需用户参与
用户感兴趣的功能
借助实际数据
用户使用步骤有关
11.软件调试方法有哪些?
- 蛮干法
- 回溯法
- 原因排除法
- 归纳法
- 演绎法
- 对分查找法
12.软件可靠性与可用性:
可靠性:
程序在给定的时间间隔内,按照说明书的规定,成功地运行的概率
可用性
程序在给定的时间点,成功地运行的概率
正确性
程序的功能正确性