1.软件的3个要素构成:
软件:信息处理系统的部分或全部程序、规程、规则以及相关的文档
软件产品:一组计算机程序、规程以及可能有的相关文档和数据。
2.软件产品质量是指:
实体(软件产品)特性的总和,表示实体(软件产品)满足明确或隐含要求的能力
3.软件测试的目的:
验证软件是否满足软件开发合同获项目开发计划、系统/子系统设计文档、软件需求规格说明、软件设计说明和软件产品说明等规定的软件质量要求
通过测试,发现软件缺陷
为软件产品的质量测量和评价提供依据
4.测试过程及其解释:
测试策划:主要进行测试需求分析,即确定需要测试的内容获质量特性、确定测试的充分性要求、提出测试的基本方法、确定测试的资源和技术需求、进行风险分析与评估、制定测试计划(含资源计划和进度计划)
测试设计:依据测试需求,分析并选用已有的测试用例或设计新的测试用例:获取并验证测试数据;根据测试资源、风险等约束条件,确定测试用例执行顺序;获取测试资源,开发测试软件;建立并校准测试环境;进行测试就绪评审,主要评审测试计划的合理性和测试用例的正确性、有效性和覆盖充分性,评审测试组织、环境和设备工具是否齐全并符合要求。在进入下一阶段工作之前,应通过测试就绪评审。
测试执行:执行测试用例,获取测试结果,分析并判定测试结果。同时,根据不同的判定结果采取相应的措施;对测试过程的正常或异常终止情况进行核对,并根据核对结果,对未达到测试终止提走间的测试用例,决定是停止测试用例,还是需要修改或补充测试用例集,并进一步测试。
测试总结:整理和分析测试数据,评价测试效果和被测软件项,描述测试状态。如,实际测试与测试计划和测试说明的差异、测试充分性分析、未能解决的测试事件等;描述被测软件项的状态,如,被测软件与需求的差异,发现的软件差错等;最后,完成软件测试报告,并通过测试评审.
5.测试用例设计的基本原则:
基于测试需求的原则:应按照测试类别的不同要求,设计测试用例。如,单元测试依据详细设计说明,集成测试依据概要设计说明,配置项测试依据软件需求规格说明书,系统测试依据用户需求(系统/子系统设计说明、软件开发计划等)
基于测试方法的原则:应该明确所采用的测试用例设计方法。为达到不同的测试充分性的要求,应采用相应的测试方法,如等价类划分、边界值分析、才错发、因果图等方法
兼顾测试充分性和效率的原则:测试用例集应兼顾测试的充分性和测试的效率;每个测试用例的内容也应该完整,具有可操作性。
测试执行的可再现性原则:应保证测试用例执行的可再现性。
6.等价类划分法:
等价类划分是在分析需求规格说明的基础上把程序的输 人域划分成岩 t部分, 然后在每部分中选取代表性数据形成测试用例。
步骤如下:
a) 划分有效等价类:对规格说明是有意义、合理的输入数据所构成的集合;b) 划分无效等价类:对规格说明是尤意义、不合理的输入数据所构成的集合;c) 为每一个等价类定义一个唯一的编号;
d) 为每一个等价类设计一组测试用例.确保覆盖相应的等价类。
7.边界值分析法:
边界值分析是针对边界值进行测试的。使用等于、小于或大于边界值的数据对程序进行测试的方法就是边界值分析方法。
步骤如下:
a)通过分析规格说明.找出所有可能的边界条件;
b)对每一个边界条件.给出满足和不满足边界值的输入数据:
c) 设计相应的测试用例。
对满足边界值的输入可以发现计算差错.对不满足的输人可以发现域差错。该方法会为其他测试方法补充一些测试用例.绝大多数测试都会用到本方法。
8.软件内部质量可以从哪6大特性进行解释:
功能性、可靠性、易用性、效率、维护性、可移植性
9.每一大特性和每一小特性的简要解释
功能性:软件在指定条件下使用时,软件产品提供满足明确和隐含要求的功能的能力
适合性:软件产品为指定的任务和用户目标提供一组合适的功能的能力
准确性:软件产品提供具有所需精度的正确或相符的结果或效果的能力
互操作性:软件产品与一个或更多的规定系统进行交互的能力
安全保密性:软件产品保护信息和数据的能力,以使未授权的人员或系统不能阅读或修改这些信息和数据,而不拒绝授权人员或系统对他们的访问
功能性的依从性:软件产品遵循与功能性相关的标准、约定或法规以及类似规定的能力
可靠性:在指定条件下使用时,软件产品维持规定的性能级别的能力
成熟性:软件产品为避免由软件中故障而导致失效的能力
容错性:软件出现故障或者违反其指定接口的情况下,软件产品维持规定的性能级别的能力
易恢复性:在失效发生的情况下,软件产品重建规定的性能级别并恢复受直接影响的数据的能力
可靠性的依从性:软件产品遵循与可靠性相关的标准、约定或法规的能力
易用性:在指定条件下使用时,软件产品被理解、学习、使用和吸引用户的能力
易理解性:软件产品使用户能理解软件产品是否合适以及如何能将软件用于特定的任务和使用条件的能力
易学性:软件产品使用户能学习其应用的能力
易操作性:软件产品使用户能操作和控制它的能力
吸引性:软件产品吸引用户的能力
易用性的依从性:软件产品遵循与易用性相关的标准、约定或法规的能力
效率:在规定条件下,相对于所用资源的数量,软件产品可提供适当性能的能力
时间特性:在规定条件下,软件产品执行其功能时,提供适当的响应和处理时间以及吞吐率的能力
资源利用性:在规定条件下,软件产品执行其功能时,使用合适数量和类别的资源的能力
效率的依从性:软件产品遵循与效率相关的标准、约定的能力
维护性:软件产品可被修改的能力,修改可能包括纠正、改进或软件对环境、需求和功能规格说明变化的适应
易分析性:软件产品诊断软件中的缺陷或失效原因或识别待修改部分的能力
易改变性:软件产品使指定的修改可被实现的能力
稳定性:软件产品避免由于软件修改而造成意外结果的能力
易测试性:软件产品使已修改软件能被确认的能力
维护性的依从性:软件产品遵循与维护性相关的标准、约定的能力
可移植性:软件产品从一种环境迁移到另外一种环境的能力
适用性:软件产品不需采取额外的活动或手段就可以适应不同指定环境的能力
易安装性:软件产品在指定环境中被安装的能力
共存性:软件产品在公共环境同与其分享公共资源的其他独立软件共存的能力
易替换性:软件产品在同样的环境下,替代另一个相同用途的指定软件产品的能力
可移植性的依从性:软件产品遵循与维护性相关的标准、约定的能力
10.软件测试按照生命周期可划分为那些阶段:
单元测试、集成测试、确认测试(配置项测试)、系统测试、验收测试
11.单元等每一个阶段测试是基于什么文档:
单元测试:软件设计文档(软件详细设计文档)
集成测试:软件设计文档(软件结构(概要)设计文档)
确认测试(配置项测试):软件需求规格说明(含接口需求规格说明)
系统测试:用户需求或系统需求或研制合同
验收测试:研制合同或用户需求或系统需求
12.软件测试的准入条件:
具有测试合同或者项目计划
具有软件测试所需的各种文档
所提交的被测软件受控
软件源代码正确通过编译或汇编
13.软件测试的准出条件:
已按照求完成了合同或项目计划所规定的软件测试任务
实际测试过程中遵循了原定的软件测试计划和软件测试说明
客观详细的记录了软件测试过程和软件测试中发现的所有的问题
软件测试文档齐全、符合规范
软件测试的全过程自始至终在控制下进行
软件测试中的问题或异常有合理的解释或正确有效的处理
软件测试工作通过了测试评审
全部测试软件、被测软件、测试支持软件和评审结果已纳入配置管理
14.静态测试:
静态测试方法包括检查单和静态分析方法。对文档的静态测试方法主要以检查单的形式进行,而对代码的静态测试方法一般采用代码审查、代码走查和静态分析,静态分析一般包括控制流分析、数据流分析、接口分析和表达式分析。应对软件代码进行审查、走查或静态分析;对于规模较小、安全性要求很高的代码也可以进性行形式化证明。
15.动态测试:
动态测试是建立在程序的执行过程,根据对被测对象内部的了解与否,分为黑盒测试和白盒测试。动态测试方法一般采用白盒测试方法和黑盒测试方法。黑盒测试方法一般包括功能分解.边界值分析、判定表.因果图、状态图随机测试、猜错法和正交试验法等;白盒测试方法--般包括控制流测试(语句覆盖测试、分支覆盖测试、条件覆盖测试、条件组合覆盖测试、路径覆盖测试)、数据流测试、程序变异、程序插桩、域测试和符号求值等。
在软件动态测试过程中,应采用适当的测试方法,实现测试目标。配置项测试和系统测试一般采用黑盒测试方法:集成测试一般主要采用黑盒测试方法,辅助以白盒测试方法;单元测试一般采用白 盒测试方法.辅助以黑盒测试方法。
16.回归测试的目的:
测试软件变更之后,变更部分的正确性和对变更需求的符合性,测试软件变更之后,软件原有的、正确的功能、性能和其他规定的要求的不损害性
17.白盒测试:
白盒测试又称结构测试、逻辑测试或基于程序的测试.这种测试应了解程序的内部构造.并且根据内部构造设计测试用例。
18.黑盒测试:
黑盒测试又称功能测试、数据驱动测试或基于规格说明的测试.这种测试不必了解被测对象的内部情况.而依靠需求规格说明中的功能来设计测试用例。