首先,介绍一些软件开发的四种典型模型
- 瀑布模型
包括计划、需求分析、设计、编码、测试、运行维护六个节点。六个阶段自上而下、相互衔接,以固定的次序进行
特点:顺序性、依赖性;文档驱动;质量保证
缺点:不适合需求模糊的系统
- 原型模型
先建立一个能够反映用户需求的原型系统,使得用户和开发者可以对目标系统的概貌进行评价和判断。然后,对原型系统进行反复的扩充、改进、求精。最终建立符合用户需求的目标系统
特点:快速开发;循环;低成本
分类:按照对原型的处理方式,可分为渐进型和抛弃型
- 增量模型
在增量模型的每个阶段都生成软件的一个可发布版本,阶段交错进行,版本逐渐完善。同原型模型的最大区别在于,在原型模型中每个阶段发布一个原型而在增量模型中完成一个正式版本
- 螺旋模型
适用于大型软件的开发,将瀑布模型和快速原型模型结合起来,并加入风险分析。
特点:每个阶段都包括制定计划,风险分析,实施工程,评审四个阶段;
开发过程迭代进行,每迭代一次螺旋线增一周,工程前进一个层次,系统生成一个新版本,投入新的时间成本,最终得到客户满意的版本;
其次介绍一下测试用例:
三要素:前提条件、操作步骤、预期结果、实际结果
必须以需求为依据
介绍一下软件测试的分类:
按照是否关注软件结果和算法。分为黑盒测试和白盒测试
黑盒测试:基于软件需求的测试方法;白盒测试:基于软件内部设计和程序实现的测试方法
按照不同的阶段。分为单元测试、集成测试、系统测试、验收测试和回归测试
单元测试:主要测试软件的单元模块,需要编写额外的测试驱动程序,采用白盒测试的方法,一般由开发人员完成
集成测试:将一些“构件”集成在一起时测试他们是否能正常运行,构件可以是程序模块,也可以是客户机-服务器程序等,需要编写测试仿真程序,采用白盒和黑盒相结合的方式,通常由开发人员承担
系统测试:测试软件系统是否符合所有的需求,包括功能性测试和非功能性测试。一般由独立的测试人员完成,通常采用黑盒测试方法
验收测试:与系统测试类似,但是是由客户或最终用户执行,测试软件是否符合需求规格说明书
回归测试:指在软件开发过程中,每次错误被修正后或软件的功能、环境发生变化后的测试。
说一下软件测试的三个步骤:
第一步:测试计划:测试人员首先对需求进行分析,最终定义一个测试集合,通过刻画和定义测试发现需求中的问题,然后根据软件需求同测试主管制定并确认“测试计划”
(制定测试计划的五个步骤:分析和测试软件需求、定义测试策略、定义测试环境、定义测试管理、编写和审核测试计划)
第二步:测试设计和开发:软件测试人员根据软件需求和软件设计说明书完成测试用例的设计和必要的测试驱动程序的开发。
第三步:执行测试:需要做的工作包括搭建测试环境、运行测试、记录测试结果、报告软件缺陷、跟踪软件缺陷、分析测试结果,必要时进行回归测试