软件质量保证与测试
1 什么是软件工程?什么是软件过程?他们与软件工程方法学有何关系?
- 软件工程(Software Engineering ,简称为SE):
是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等方面。- 软件过程:
是指一个为获得高质量软件所需完成的任务的框架,它规定了软件产品开发时完成各项任务的一系列工作步骤,包括中间产品、资源、角色及过程中采取的方法、工具等范畴。- 软件工程方法学:
通常把在软件生命周期的全过程中的一整套技术方法的集合称为方法学,也称范型。- 软件过程是软件工程方法学的三个重要组成部分之一,软件工程方法学是软件工程的四个层次之一。
> **2 简述几种常见的质量控制模型。**
TSQC模型(Total Statistical Quality Control)
- 计划 Plan:确定参数要求。
- 实施 Do:根据要求开展活动。
- 检查 Check:通过评审、度量、测试,确认满足要求。
- 改进 Action:纠正参数要求,再开发。
3 简述流行的5种软件可靠性模型评价准则。
- 模型拟合性
- 模型预计有效性
- 模型偏差
- 模型偏差趋势
- 模型噪声
4 软件评审主要包括哪些内容?
- 管理评审:管理评审就是最高管理者为评价管理体系的适宜性、充分性和有效性所进行的活动。
- 技术评审:技术评审是一种同行审查技术。其主要特点是由一组评审者按照规范的步骤对软件需求、设计、代码或其他技术文档进行仔细检查,以找出和消除其中的缺陷。
- 文档评审:在软件开发的每个阶段,对该阶段所形成的文档进行评审,尽早发现问题,并及时采取措施予以解决,确保文档的内容准确,为软件产品的质量提供保障。
- 过程评审:过程评审是对软件开发过程的评审,其主要任务是通过对流程的监控,保证SQA组织定义的软件过程在项目中得到了遵循,同时保证质量保证方针能更快更好地执行。
5 Java代码审查包括哪些内容?
- 多次拷贝字符串
- 没有克隆返回的对象
- 自编代码来拷贝数组
- 检查new操作的结果是否为null
- 在catch块中作清除工作
- 增加不必要的catch块