1.软件的生命周期分为哪几个阶段?具体的内容是什么?
- 计划
- 确定软件开发总目标;
- 给出软件的功能、性能、可靠性以及接口等方面的设想;
- 研究完成该项目的可行性,探讨问题解决方案;
- 对可供开发使用的资源、成本、可取得的效益和开发进度作出估计;
- 制定完成开发任务的实施计划。
- 需求分析
-
对开发的软件进行详细的定义,由需求分析人员和用户共同讨论决定,哪些需求是可以满足的,并且给予确切的描述,写出软件需求说明书SRS (Software Requirement Specification)。
- 设计
- 设计是软件工程的技术核心,这个阶段需要完成设计说明书
- 概要设计(HLD),在设计阶段把各项需求转换成相应的体系结构,每一部分是功能明确的模块;
- 详细设计(LLD),对每个模块要完成的工作进行具体的描述。
- 编码
- 把软件设计转换成计算机可以接受的程序,即写成以某个程序设计语言表示的源程序清单,建立数据库。
- 测试
- 单元测试
- 集成测试
- 系统测试
- 运行和维护
- 这个阶段将软件交付用户投入正式使用,以后便进入维护阶段,可能有多种原因需要对它进行修改,如软件错误、系统软件升级、增强软件功能、提高性能等。
2.测试阶段怎么划分?
- 测试计划阶段
- 测试设计阶段
- 测试实施阶段
- 测试执行阶段
3.什么是回归测试?为什么要回归测试?回归测试的流程是什么?回归测试的测试策略有哪些?
- 回归测试是指软件系统被修改或扩充(如系统功能增强或升级)后重新进行的测试,是为了保证对软件所做的修改没有引入新的错误而重新进行的测试。
- 回归测试目的是验证缺陷得到了正确的修复,同时对系统的变更没有影响以前的功能。
4.CMM/CMMI是什么?它的等级怎么划分?有什么目的?有什么作用?
- 能力成熟度模型;一种比较流行的软件质量管理体系
- 划分:初始级;可重复级;已定义级;已管理级;优化级;
- 目的:评估软件承包商能力,协助软件组织改进过程,提高过程能力
- 作用:业界的实施标准,业界的一种交流语言,是中国企业获取国际订单的门槛, 是向下采购的保障,是降低软件声场风险的有力手段
5.测试的方法有哪些?
- 白盒测试、黑盒测试、灰盒测试、β测试,α测试、可移植性测试、冒烟测试等
6.什么是白盒测试?
白盒测试是根据被测试程序的内部结构设计测试用例的一类测试,有人也称它为透明盒或者玻璃盒测试,涉及到软件设计的细节。比如单元测试一般采用白盒测试方法,并参考LLD(详细设计)
7.什么是黑盒测试?
黑盒测试又称功能测试、数据驱动测试或者基于规格说明的测试,被测试程序当作黑盒处理,无法了解其内部的构造。比如系统测试一般采用黑盒测试方法,并参考SRS
8.什么是静态测试?
不运行被测试的软件系统,而是采用其他手段和技术对被测试软件进行检测的一种测试技术。例如:代码走读、文档评审、程序分析等都是静态测试的范畴。常用技术有静态分析技术
9.什么是动态测试?
按照预先设计的数据和步骤去运行被测软件系统,从而对被测软件系统进行检测的一种测试技术。常用技术有动态分析技术
10.什么是人工测试?
测试活动(如评审、测试设计、测试执行等)由人来完成,狭义上是指测试执行由人工完成,这是最基本的测试形式
11.什么是自动化测试?
一般是指通过计算机模拟人的测试行为,替代人的测试活动,狭义上是指测试执行由计算机来完成
12.常见的黑盒测试方法有哪些?
- 等价类划分法
- 边界值分析法
- 因果图分析法
- 判定表法
- 正交试验法
- 状态迁移法