1.用种子模型法估算软件中存在错误数的困难在哪里?请举例说明。
(1)人为植入错误较为困难
(2)错误被发现的难易程度不一样,被插入的错误并不一定能代表各种可能的错误,估算结果不一定准确。
例子:在开始测试前向被测软件人为插入10个bug,均是已知类型的常见错误。经过一段时间测试以后这10个错误都被发现了,这样一来根据种子模型估算方法,软件中隐藏的错误数估算为0,显然是不合理的。
2.两个小组独立地测试同一个程序,第一组发现35个错误,第二组发现23个错误,在两个小组发现的错误中有16个是共同的。
(1)根据Hyman估算法可以估计程序中的错误总数是多少个?
(2)运用Hyman估算法时需要注意什么问题?
(1)35×23÷16≈50
(2)当两组测试人员具有较高相关性时,Hyman估算方法会有较大误差。
3.软件产品质量特性是什么?什么是软件质量保证? 其主要任务是什么?
软件产品质量特性指的是软件产品满足使用要求的程度,就是高质量的软件系统能够准时交付给用户,所耗费的成本不超出预算,且能够正常地运行。
软件质量保证(Software Quality Assurance, SQA)就是保证软件质量的一系列系统性的活动,它是建立一套有计划,有系统的方法,向管理层保证拟定出的标准、步骤、实践和方法能够正确地被所有项目所采用。
软件质量保证的主要任务是向所有有关的人提供证据以确立软件产品的质量功能按照需求运行,它不负责高质量软件的编制,其主要职责是审计软件经理和软件工程组的质量活动,并鉴别活动中出现的偏差。
4.质量保证部门与测试部门的职责是否一样?归纳它们的共同点和不同点。
不一样。
从共同点的角度看,软件测试部门和软件质量保证部门的目的都是尽力确保软件产品满足需求,从而开发出高质量的软件产品。两个流程都贯穿在整个软件开发生命周期中。
二者的不同之处在于软件质量保证部门的工作侧重对软件开发流程中的各个过程进行管理与控制,杜绝软件缺陷的产生。而测试部门工作则是对已产生的软件缺陷进行修复。
5.简述CMM的具体等级划分。
CMM将软件过程能力成熟度划分为5个等级,如下图所示。每个等级定义一组过程能力目标,并且表述了能够达到这些过程能力目标的实践活动。
1.简述测试计划工作的目的是什么?测试计划工作的内容都包括什么?
测试计划的目的是明确测试活动的意图,它规范了软件测试内容、方法和过程,为有组织地完成测试任务提供保障。
测试计划的主要内容包括:测试目的、测试范围、测试对象、测试策略、测试任务、测试用例、资源配置、测试结果分析和度量及测试风险评估等,测试计划应当足够完整但也不应当太详尽。
2.概括测试文档的含义,简述测试文档的内容。
测试文档(Testing Documentation)是测试活动中非常重要的文件,用来记录和描述整个测试流程。
整个测试流程会产生很多个测试文档,一般可以把测试文档分为两类:测试计划类文档和测试分析报告类文档。测试计划类文档描述将要进行的测试活动的范围、方法、资源和时间进度等,如测试计划、测试设计规格说明、测试用例规格说明和测试步骤规格说明等。测试分析报告类文档是对测试结果进行分析说明,说明软件经过测试以后,结论性的意见如何,软件的能力如何,存在哪些缺陷和限制等,如测试日志、测试事件报告、测试总结报告等。