软件同时拥有外在和内在的质量特性,外在质量指用户所能感受到的部分。
外在质量:正确性、可用性(使用容易)、效率、可靠性、完整性(限制权限、访问正确性)、适应性、精确性、健壮性
内在质量:可维护性、灵活性、可移植性、可重用性、可读性、可测试性、可理解性(内在一致性)
改善质量的技术:
软件质量目标
明确定义质量保证工作
测试策略
软件工程指南
非正式技术复查(桌面检查、代码走查)
正式技术复查(质量门,以确定走出下一里程碑)
外部审查
开发过程:
对变更进行控件的过程
结果的量化
制作原型,开发出一部分用户界面的原型可以判断出系统的可用性,开发出关键算法的原型可以确定功能的执行时间,开发出典型数据集的原型能知道程序的内存需求。
检查比测试的成本更小:
非正式设计复查、正式设计检查、非正式代码复查、正式代码复查、建立模型或原型、个人桌面代码检查、单元测试、新功能测试、集成测试、回归测试、系统测试、小规模Beta测试、大规模Beta测试
对所有的需求、架构以及系统关键部分的设计进行正式检查
建模或者创建原型
代码阅读或者检查
执行测试