目录
- 软件测试分类和要求
- 测试用例设计
- 测试阶段
- McCabe复杂度
- 软件维护
- 软件过程改进---CMMI
- CMM英文版
- CMM中文版
- CMMI
软件测试分类和要求
- 分类:
- 灰盒测试:多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。
- 桌前检查:由程序员检查自己编写的程序。
- 代码审查:由程序员逐句讲解程序的逻辑.在此过程中,程序员或其他小组成员可以提出问题,展开讨论,审查错误是否存在。
- 代码走查:让与会者“充当”计算机。由测试组成员为被测程序准备一批有代表性的测试用例,提交给走查小组。走查小组开会,集体扮演计算机角色,让测试用例沿程序的逻辑运行一遍。
- 要求:
- 修改后进行回归测试【回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误】
- 测试开始的时间要尽早
- 程序员应尽量避免测试自己设计的程序
- 尚未发现的错误和已发现的错误成正比
- 有效的、合理的数据和无效的、不合理的数据都需要选取
测试用例设计
- 语句覆盖:语句覆盖就是设计若干个测试用例,运行被测程序,使得每一可执行语句至少执行一次。
- 判定覆盖:判定覆盖就是设计若干个测试用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次。
- 条件覆盖:条件覆盖就是设计若干个测试用例,运行被测程序,使得程序中每个判断的每个条件的可能取值至少执行一次。
- 判定-条件覆盖:判定-条件覆盖就是设计足够的测试用例,使得判断中每个条件的所有可能取值至少执行一次,同时每个判断本身的所有可能判断结果至少执行一次。
- 多重条件覆盖:多重条件覆盖就是设计足够的测试用例,运行被测程序,使得每个判断的条件结果的所有可能取值组合至少执行一次。
测试阶段
- 冒烟测试
- 单元测试、集成测试【一次性组装、增量式组装】、确认测试【内部确认测试、Alpha测试、Beta测试、验收测试】、系统测试【恢复测试、压力测试、性能测试、可靠性测试】
McCabe复杂度
软件维护
- 留学韩国的小明新交一韩国女友如花,交往期间发生了如下事件:(1)小明希望如花学会中华散打技能;(2)如花习武期间,去年整容的鼻子不幸塌陷,
需要重新修补;(3)毕业后如花随小明回北京,由于水土不服,如花卧病,经多次调理后康复并习惯中国生活;(4)如花学习更高深的九阳神功,重构内力以增强体制。假设把如花比作软件,请说明以上四类事件分别对应于哪一类
软件维护工作。(5 分) - 参考答案: (1) 完善性维护; (2 分) (2) 改正性维护; (1 分) (3) 适应性维护; (1 分) (4) 预防性维护。(1 分)
- 学校向某公司购买了一套办公管理系统,运行期间发生了如下事件:(1) 系统运行两月后,需要将 SQLServer 数据库更换为
Oracle 数据库;(2)教务处发现一次性打印 100
份试卷会出错;(3)财务处要求在系统中增加移动办公功能;(4)软件公司采用更先进的技术将报表组件重构以增强灵活性。请说明以上四类事件分别对应于哪一类软件维护工作。 - 参考答案:适应性维护、改正性维护、完善性维护、预防性维护
软件过程改进—CMMI
CMM英文版
CMM中文版
- 每一级中,定义了达到该级过程管理水平所应解决的主要问题和关键域。
- 初始级:处于这个最低级的组织,基本上没有健全的软件工程管理制度,每件事情,都以特殊的方法来做。
- 可重复级:有些基本的软件项目的管理行为、设计、管理技术是基于相似产品中的经验,故称为“可重复”。
CMMI
- 软件能力成熟度集成模型(Capacity Maturity Model Integrated,CMMI)是CMM模型的最新版本。
- 早期的能力成熟度模型是一种单一的模型其英文缩写为CMM,较多地用于软件工程。
- 随着应用的推广与模型本身的发展,该方法演绎成为一种被广泛应用的综合性模型,因此改名为CMMI模型。
- 不能集中其不同过程改进的能力以取得更大成绩;
- 要进行一些重复的培训、评估和改进活动,因而增加了许多成本;
- 遇到不同模型中有一些对相同事物说法不一致,或活动不协调,甚至相抵触。