(1) 10 =10000/K(ET - 15) 15 =10000/K(ET - 25) K = 100/3 ET =45 (2) Ec = 45 - 3 =42
还需改正42-25 = 17个错误。
对一个长度为100,000条指令的程序进行测试,记录下来的数据如下: 测试开始, 发现错误个数为0;
经过160小时的测试, 累计改正100个错误, 此时, MTTF = 0.4小时; 又经过160小时的测试, 累计改正300个错误, 此时, MTTF = 2小时; (1) 估计程序中固有的错误总数;
(2) 为使MTTF达到10小时, 必须测试多少个错误? 1)MTTF = IT / ( k * (Et - Ec(t)) ) 所以0.4 = IT / ( k * (Et - 100) ) 2 = IT/ ( k * (Et - 300) ) 所以可以求出Et =350 2)
由1)可以知道
k = IT / 2(Et - Ect) = 100000 / 2(350 - 300) = 100000 / 100 = 1000; 所以
MTTF = 10 = 100000 / 1000(Et - Ec) = 100/(Et - Ec) = 100/(350 - Ec) 所以Ec = 340
340-300 =40个错误。
某公司对已开发的软件产品采用错误植入模型来进行测试和评估。评测部对待测软件人为植入了17个故障;在开始测试的一小段时间内,发现了300个固有故障;发现了植入的故障3个,被测程序的机器指令条数为3*105。
(1) 请估算出被测程序的固有故障的个数N的值。
(2) 若通过一段时间后,发现的错误个数为1600时,请估算此程序的平均无故障时间。 (3) 若要求把此平均无故障时间再提高2倍,应至少再排除多少个错误? (1) ET = 17/3*300 =1700
(2) MTTF = 3*105 / 200 * (1700 -1600) =15 h (3) Ec = 1700 - 3*105 / 200*30 =1650 还需改正1650-1600 =50个错误。
在测试一个长度为24000条指令的程序时,第一个月由甲乙两名测试员各自独立测试这个程序。经过一个月测试后,甲发现并改正了20个错误,使MTTF达到10h。与此同时,乙发现了24个错误,其中6个甲也发现了。以后由甲一个人继续测试这个程序。 (1)刚开始时程序中总共有多少个潜藏的错误?
(2)为使MTTF达到60h,必须再改正多少个错误?
期中三道大题,关键代码:
(1)edit_get_text(\
edit_get_text(\edit_get_text(\win_close (\
if (tickets * price == total)
tl_step(\Order \ is correct . \ else
tl_step(\Order \. \}
ddt_close(table);
(2)button_set (\
edit_get_text(\
set_window (\ button_set (\
edit_get_text(\
set_window (\ button_press (\ report_msg(Bprice); report_msg(Eprice); chajia = substr(Bprice,2,length(Bprice)-1) - substr(Eprice,2,length(Eprice)-1); report_msg(chajia); if (chajia <165)
{tl_step(\NO. \difference is not too large, the difference is $\ report_msg(\ else
tl_step(\too large, the difference is $\}
ddt_close(table);
(3)# Flight Reservation
set_window (\ obj_type (\
list_select_item (\ list_select_item (\ obj_mouse_click (\ # Flights Table
set_window (\
list_select_item (\AF $165.60\ button_press (\ # Flight Reservation
set_window (\
edit_set (\ button_set (ddt_val(table,\ button_press (\
1.软件测试是对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。其根本目的是以尽可能少的时间和人力发现并改正软件中潜在的各种故障及缺陷,提高软件的质量。软件测试贯穿于软件开发的整个生命周期。
软件测试由单元测试、集成测试、确认测试、系统测试和验收测试这几个不同的测试阶段组成。
2.测试环境=硬件+软件+网络+数据准备+测试工具
3.单元测试又称为模块测试,是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。软件单元测试的目的是检测程序模块对《详细设计说明书》的符合程度;软件单元测试依据是《单元测试计划》。
内容:模块接口测试;局部数据结构测试;路径测试;错误处理测试;边界测试
模块接口 出错处理 局部数据 模块 独立路径 4.软件集成测试又称组装测试,即对程序模块采用自顶向下或自底向上组装起来,对系统的接口进行正确性检验的测试工作。软件集成测试由项目经理组织软件测试工程师依据《概要设计说明书》和《集成测试计划》进行。
5.确认测试又称有效性测试。任务是验证软件的功能和性能及其他特性是否与用户的要求一致。对软件的功能和性能要求在软件需求规格说明中已经明确规定。
边界条件 选择测试人员 设计测试用例 实际运行测试 软件计划 用户文档 开发文档 源程序文本 支持环境 有效 性 测试 测试报告 管理 机构 裁决 专家 鉴定 会 交用户 软件 配软件配置 6.有效性测试是在模拟的环境(可能就是开发的环境)下,运用黑盒测试的方法,验证所测软件是否满足需求规格说明书列的需求。在全部软件测试的测试用例运行完后,所有的测试
结果可以分为两类:测试结果与预期的结果相符。测试结果与预期的结果不符。
软件配置复查的目的是保证软件配置的所有成分都齐全。各方面的质量都符合要求。具有维护阶段所必需的细节。而且已经编排好分类的目录。
7.系统测试是将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起测试。在实际运行(使用)环境下,对计算机系统进行一系列的组装测试和确认测试。系统测试的目的在于通过与系统的需求定义作比较,发现软件与系统定义不符合或与之矛盾的地方。
8.项目经理负责组织验收组进行最终验收测试。验收组应由项目组成员、用户代表、监理代表等组成。验收测试原则上在顾客所在地进行,但如经顾客同意也可以在公司内模拟用户环境进行。
9.α测试是由一个用户在开发环境下进行的测试,也可以是开发机构内部的用户在模拟实际操作环境下进行的测试。α测试的目的是评价软件产品的功能、可使用性、可靠性、性能和支持。
10.β测试是由软件的多个用户在一个或多个用户的实际使用环境下进行的测试。与α测试不同的是,开发者通常不在测试现场。
需求分析 概要设计 详细设计 源程序 单元 测试 集成 测试 确认 测试
需求分析 确认测试 设计 集成测试 编程 单元测试 12.软件测试过程V模型
特点:非常明确地表明了测试的不同级别,清晰地展示了软件测试与开发之间的关系。 V模型:需求、功能、设计和编码的开发活动随时间而进行,而相应的测试活动(即针对需
求、功能、设计和编码的测试)开展的次序正好相反。成功应用软件开发V模型的关键因素是设计测试案例的时机。V模型的问题:
误解:“测试是开发之后的一个阶段”、“测试的对象就是程序本身”。 实际应用中容易导致需求阶段的错误一直到最后验收阶段才被发现。
12.软件测试过程W模型
特点:形象地说明了测试与开发的并行关系,体现了测试贯穿于整个开发过程的思想。 测试的对象不仅是程序,也包括需求和设计阶段形成的文档。
W模型:测试伴随整个开发周期。测试的对象不仅仅是程序,还包括需求和设计。W模型应用:相应开发活动完成,即可执行测试(例如:需求分析完成,即可对需求进行测试) 。 13.H测试流程:测试准备活动:需求分析、测试计划、测试分析、测试编码、测试验证。 测试执行活动:测试运行、测试报告、测试分析。
H模型:测试不仅仅是测试执行,还包括其他活动。测试是一个独立流程,贯穿产品整个周期,于其他流程并发进行。测试要尽早准备,尽早执行。测试根据被测物的不同是分层次的。 第二章
1.黑盒测试——把程序看作一个不能打开的黑盒子,只检查程序功能是否按照需求规格说明书的规定正常使用。也叫做功能测试或者基于规格说明的测试。常用的黑盒测试方法有等价类划分、边界值分析、因果图、决策表测试、错误推测法、场景法、正交实验法等。 2.黑盒测试是从用户观点出发的测试,其目的是尽可能发现软件的外部行为错误。