软件测试技术及项目案例实战答案
一、填空题
1.软件从“出生”到“消亡”的过程称为软件生命周期
2.早期的线性开发模型称为 瀑布 开发模型。
3.引入风险分析的开发模型为_螺旋开发模型。
4.ISO/IEC9126:1991标准提出的质量模型包括. 功能性、可靠性、可使用性、效率、可维护性、可移植性_6大特性。
5.按照缺陷的严重程度可以将缺陷划分为_严重、一般、次要、建议
6.验证软件单元是否符合软件需求与设计的测试称为_单元测试
7.对程序的逻辑结构、路径与运行过程进行的测试称为 白盒测试
8.有一种测试模型,测试与开发并行进行,这种测试模型称为模 W型。
二、判断题
1.现在比较流行的软件开发模型为螺旋模型。(F )
2.软件存在缺陷是由于开发人员水平有限引起的,一个非常优秀的程序员可以开发出零缺陷的软件。(F )
3.软件缺陷都存在于程序代码中。( F)
4.软件测试是为了证明程序无错。(T)
5.软件测试H模型融人了探索测试。(F)
6.软件测试要投人尽可能多的精力以达到100%的覆盖率。(F )
三、单选题
1.下列选项中,哪一项不是软件开发模型? ( A )
A.V模型 B.快速模型 C.螺旋模型 D.敏捷模型
2.下列选项中,哪一项不是影响软件质量的因素? ( C )
A.需求模糊 B.缺乏规范的文档指导 C.使用新技术 D.开发人员技术有限
3.下列选项中,哪一项不是软件缺陷产生的原因? ( B )
A.需求不明确 B.测试用例设计不好 C.软件结构复杂 D.项目周期短
软件测试的方法有哪些4.关于软件缺陷,下列说法中错误的是( C )。
A.软件缺陷是软件中(包括程序和文档)存在的影响软件正常运行的问题。
B.按照缺陷的优先级不同可以将缺陷划分为立即解决、高优先级、正常排队、低优先级
C.缺陷报告有统一的模板, 该模板是IEEE 729- 1983 制定的
D.每个缺陷都有一一个唯一的编号, 这是缺陷的标识
解析:缺陷报告的形式,每个公司都有一套模板
5.关于软件测试,下列说法中错误的是 ( D )。
A.在早期的软件开发中,测试就等同于调试
B.软件测试是使用人工或自动手段来运行或测定某个系统的过程
C.软件测试的目的在于检验它是否满足规定的需求或是弄清楚预期结果与实际结果之间的差异.
D.软件测试与软件开发是两个独立、分离的过程
6.下列哪一项不是软件测试的原则? ( B )
A.测试应基于客户需求
B.测试越晚进行越好
C.穷尽测试是不可以的
D.软件测试应遵循GoodEnough原则
四、简答题
1.请简述软件缺陷的处理流程。
1、软件缺陷处理流程为:提交→分配→确认→处理→复测→关闭
软件缺陷处理流程
(1)提交:测试人员发现缺陷之后,将缺陷提交给测试组长。
(2)分配:测试组长接收到测试组员提交的缺陷之后,将其移交给开发人员。
(3)确认:开发人员接收到移交的缺陷之后,会与团队甚至测试人员一起商议,确定该缺陷是否是一个缺陷。
(4)拒绝:如果经过商议之后,缺陷不是一个真正的缺陷则拒绝处理,关闭缺陷。如果经过商议之后,确定其是一个真正的缺陷,则可以根据缺陷的严重程度或优先级等立即处理或延期处理。
(5)处理:开发人员修改缺陷。
(6)复测:开发人员修改好缺陷之后,测试人员重新进行测试(回归测试),检测缺陷是否确实已经修改。如果未被正确修改,则重新提交缺陷。
(7)关闭:测试人员进行回归测试之后,如果缺陷已经被正确修改,则将缺陷关闭,整个缺陷处理完成。
2.请简述软件测试的基本流程。
流程:分析测试需求→制定测试计划→设计测试用例→执行测试→编写测试报告。
(1)分析测试需求
测试人员在制定测试计划之前需要先对软件需求进行分析,以便对要开发的软件产品有一个清晰的认识,从而明确测试对象及测试工作的范围和测试重点。在分析需求时还可以获取一些测试数据,作为测试计划的基本依据,为后续的测试打好基础。
(2)制定测试计划
测试计划是整个测试工作的导航图,但它并不是一成不变的,随着项目推进或需求变更,测
试计划也会不断发生改变,因此测试计划的制定是随着项目发展不断调整、逐步完善的过程。
测试计划一般要做好以下工作安排。
确定测试范围:明确哪些对象是需要测试的,哪些对象不是需要测试的。
制定测试策略:测试策略是测试计划中最重要的部分,它将要测试的内容划分出不同的优先级,并确定测试重点。根据测试模块的特点和测试类型(如功能测试、性能测试)选定测试环境和测试方法(如人工测试、自动化测试)。
安排测试资源:通过对测试难度、时间、工作量等因素对测试资源合理安排,包括人员分配、工具配置等。
安排测试进度:根据软件开发计划、产品的整体计划来安排测试工作的进度,同时还要考虑各部分工作的变化。在安排工作进度时,最好在各项测试工作之间预留一个缓冲时间以应对计划变更。
预估测试风险:罗列出测试工作过程中可能会出现的不确定因素,并制定应对策略。
(3)设计测试用例
测试用例指的是一套详细的测试方案,包括测试环境、测试步骤、测试数据和预期结果。测试用例编写的原则是尽量以最少的测试用例达到最大测试覆盖率。测试用例常用的设计方法包括等价类划分法、边界值分析法、因果图与判定表、正交实验法、逻辑覆盖法等。
(4)执行测试
测试执行就是按照测试用例执行测试的过程,这是测试人员最主要的活动阶段。在执行测试时要根据测试用例的优先级进行。
测试人员需要完成所有测试用例的执行,每一个测试用例都可能会发现很多缺陷,测试人员要做好测试记录与跟踪,衡量缺陷的质量并编写缺陷报告。
当提交后的缺陷被开发人员修改之后,测试人员需要进行回归测试。如果系统对测试用例产生了缺陷免疫,测试人员则需要编写新的测试用例。
(5)编写测试报告
测试报告是一个测试活动的总结,对项目测试过程进行总结,对测试数据进行统计,对项目的测试质量进行客观的评价文档。
一份完整的测试报告必须要包含以下几个要点。
引言:描述测试报告编写目的、报告中出现的专业术语解释及参考资料等。
测试概要:介绍项目背景、测试时间、测试地点及测试人员等信息。
测试内容及执行情况:描述本次测试模块的版本、测试类型,使用的测试用例设计方法及测试通过覆盖率,通过测试的通过情况提供对测试执行过程的评估结论,并给出测试执行活动的改进建议,以供后续测试执行活动中借鉴参考。