软件测试基础
填空题
- 软件从“出生”到“消亡”的过程称为__软件的生命周期______。
- 引入风险分析的开发模型为____螺旋____模型。
- ISO/IEC 9126:1991标准提出的质量模型包括__功能性______、可靠性、___可移植性_____、效率、可维护性、__可使用性______六大特性。
- 按照缺陷的严重程度可以将缺陷划分为___严重_____、一般、次要、___建议_____。
- 验证软件单元是否符合软件需求与设计的测试称为___单元测试_____。
- 对程序的逻辑结构、路径与运行过程进行的测试称为___白盒测试_____。
- 有一种测试模型,测试与开发并行进行,这种测试模型称为___w____模型。
判断题
- 软件存在缺陷是由于开发人员水平有限引起的,一个非常优秀的程序员可以开发出零缺陷的软件。(× )
注解:软件缺陷可能由多种因素引起,包括但不限于设计错误、需求不明确、环境问题等,即使是非常优秀的程序员也无法保证开发出完全没有缺陷的软件。软件质量保证是一个复杂的过程,需要团队合作和全面的测试。
- 软件缺陷都存在于程序代码中。(× )
注解:软件缺陷不仅存在于代码中,还可能存在于设计、需求、配置、文档等其他方面。
- 软件测试是为了证明程序无错。(× )
注解:软件测试的目的是发现软件中的错误和缺陷,而不是证明程序无错。实际上,由于资源和时间的限制,完全无错的软件是不存在的。
- 软件测试的H模型融入了探索性测试。(√ )
注解:H模型是指一种将传统的基于规范的测试与探索性测试相结合的测试模型。它强调在测试过程中既要依靠预先设计的测试用例,也要通过探索性测试发现新的测试路径和缺陷,结合两者的优势,提高测试的全面性和有效性。
- 软件测试要投入尽可能多的精力以达到100%的覆盖率。(× )
注解:虽然高覆盖率可以增加发现缺陷的机会,但追求100%的覆盖率并不总是可行或必要的。测试应该根据软件的复杂性、风险和成本效益来平衡。在某些情况下,过度的测试可能会导致资源浪费,而不是提高软件质量。
单选题
- 下列选项中,不属于软件开发模型的是( )。
- V模型 B.快速原型模型 C.螺旋模型 D.敏捷模型
注解:A. V模型:是一种软件开发模型,强调验证和确认过程的每个阶段。
B. 快速原型模型:是一种软件开发模型,通过快速构建原型来帮助理解需求和改进设计。
C. 螺旋模型:是一种软件开发模型,将迭代开发和风险管理结合起来。
D. 敏捷模型:敏捷(Agile)不是一种单一的软件开发模型,而是一种软件开发方法论。敏捷方法论包含了多种开发模型,如Scrum、Kanban等。
- 下列选项中,哪一项不是影响软件质量的因素?( )
A.需求模糊 B.缺乏规范的文档指导
C.软件测试要求太严格 D.开发人员技术有限
- 下列哪一项不是软件缺陷产生的原因?( )
A.需求不明确 B.测试用例设计不好 C.软件结构复杂 D.项目周期短
- 下列选项中,关于软件缺陷的说法错误的是( )。
A.软件缺陷是软件(包括程序和文档)中存在的影响软件正常运行的问题、错误、隐藏的功能缺失或多余
B.按照缺陷的优先级不同可以将缺陷划分为立即解决、高优先级、正常排队、低优先级
C.缺陷报告有统一的模板,该模板是根据IEEE729-1983制定
D.每个缺陷都有一个唯一的编号,这是缺陷的标识
- 下列选项中,关于软件测试的说法错误的是( )。
A.在早期的软件开发中,测试就等同于调试。
B.软件测试是使用人工或自动手段来运行或测定某个系统的过程
C.软件测试的目的在于检验软件是否满足规定的需求或弄清楚预期结果与实际结果之间的差异
D.软件测试与软件开发是两个独立、分离的过程
- 下列选项中,不属于软件测试原则的是( )。
A.测试应基于用户需求 B.测试越晚进行越好
C.穷尽测试是不可以的 D.软件测试遵循GoodEnough原则
简答题
- 请简述软件缺陷的处理流程。
答:软件缺陷的处理流程可以分为7个环节。
(1)提交:测试人员发现缺陷之后,将缺陷提交给测试组长。
(2)分配:测试组长接收到测试人员提交的缺陷之后,将其移交给开发人员。
(3)确认:开发人员接收到移交的缺陷之后,会与团队甚至测试人员一起商议,确定该缺陷是否是一个缺陷。
(4)拒绝:如果经过商议之后,发现的缺陷不是一个真正的缺陷,则拒绝处理此缺陷,对其进行关闭处理。如果经过商议之后,确定其是一个真正的缺陷,则可以根据缺陷的严重程度或优先级等立即处理或延期处理。
(5)处理:开发人员修改缺陷。
(6)复测:开发人员修改好缺陷之后,测试人员重新进行测试(复测),检测缺陷是否已经修改。如果未被正确修改,则重新提交缺陷。
(7)关闭:测试人员重新测试之后,如果缺陷已经被正确修改,则将缺陷关闭,整个缺陷处理完成。
- 请简述软件测试的基本流程。
答:软件测试的基本流程具体如下.
(1)分析测试需求
(2)制定测试计划
(3)设计测试用例
(4)执行测试
(5)编写测试报告
黑盒测试方法
填空题
- 等价类划分就是将输入数据按照输入需求划分为若干个子集,这些子集称为___等价类_____。
- ____边界值分析法____通常作为等价类划分法的补充。
- 因果图中的_ _恒等____关系要求程序有一个输入和一个输出,输出与输入保持一致。
- 因果图的多个输入之间的约束包括___异_____、___或_____、____唯一____、____约束____共4种。
- 决策表通常由___条件桩_____、___条件项_____、____动作桩____、____动作项____共4个部分组成。
- 根据用户操作流程的正确性来划分,场景法通常分为____基本流____和___备选流_____。
判断题
- 有效等价类可以捕获程序中的缺陷,而无效等价类不能捕获缺陷。(× )
注解:有效等价类和无效等价类都能捕获程序中的缺陷。有效等价类是指满足条件的输入,而无效等价类是指不满足条件的输入。测试时,两种等价类都应被考虑,因为它们都能揭示潜在的错误。
- 如果程序要求输入值是一个有限区间的值,可以划分为一个有效等价类和一个无效等价类。(√ )
注解:对于一个有限区间的输入值,通常可以划分为多个有效等价类和至少一个无效等价类。有效等价类可能包括区间内的多个子区间,而无效等价类可能包括区间外的值。使用边界值方法测试时,只取边界两个值即可完成边界测试。
- 使用边界值方法测试时,只取边界两个值即可完成边界测试。( ×)
注解:边界值测试不仅仅是测试边界的两个值,它还应该包括边界值的内侧和外侧的值,以及边界值之间的值,以确保边界条件被充分测试。
- 因果图考虑了程序输入、输出之间的各种组合情况。(√ )
注解:因果图方法是一种考虑输入条件和输出结果之间的组合情况的测试方法,能够帮助发现不同输入组合对输出结果的影响。
- 决策表法是由因果图演变而来的。( √)
注解:决策表法是一种系统化的表示输入条件及其对应输出的工具,通常是由因果图演变而来,能够更直观地展示复杂的条件组合及其对应的操作。
- 正交实验设计法比较适用于复杂的大型项目。(√ )
注解:正交实验设计法是一种有效的测试设计方法,适用于需要对多个因素进行组合测试的复杂项目,能够在测试成本和测试覆盖率之间取得平衡。
单选题
- 下列选项中,哪一项不是因果图输入与输出之间的关系?( )
A.恒等 B.或 C.要求 D.唯一
- 下列选项中,哪一项是因果图输出之间的约束关系?( )
A.异 B.或 C.强制 D.要求
- 下列选项中,哪一项不是正交实验设计法的关键因素?( )。
A.指标 B.因子 C.因子状态 D.正交表
简答题
- 请简述等价类划分法的原则。
答:等价类划分的原则具体如下。
(1)如果程序要求输入值是一个有限区间的值,则可以将输入数据划分为一个有效等价类和两个无效等价类