一、名词解释题
1、测试用例 2、驱动模块 3、回归测试 4、静态测试 5、桩模块 6、强度测试 7、软件测试 8、自动化测试 9、动态测试 10、路径
二、问答题
1、软件测试涉及哪些关键问题? 2、简述软件测试过程的流程。
3、为什么说软件测试必须有预期结果? 4、什么是测试用例?
5、简述黑盒测试和白盒测试概念,并试分析两者的优点和缺点。
6、采用白盒测试法设计测试用例时,常用的逻辑覆盖测试方法有哪几种?请简单描述各种方法的目的。
7、黑盒测试有哪几种方法?请简单描述各种方法的特点。
8、 简析已学的各种黑盒测试方法的特点,并分析如何选择恰当的黑盒测试方法?
9、简介WEB应用程序在压力下的常见错误类型。 10、单元测试的主要任务是什么?
11、简述自顶向下增量式测试和自底向上增量式测试两种集成测试方法,并比较两者的优点和缺点。
12、简述在哪些测试模块中应优先考虑引入自动化测试?自动化测试可以带来哪些优点?
13、在软件工程或软件测试中,哪些软件问题被称为软件缺陷? 14、简述软件测试与软件开发各阶段的关系。
15、在测试实施之前,如何才能确定好的测试策略和测试方法? 16、简述软件测试的目的和原则。
17、为什么在单元测试之后要进行集成测试?如何组织集成测试? 18、当WinRunner识别完GUI对象后,会将GUI对象的属性储存在GUI Map File, WinRunner提供二种GUI Map File模式: GUI Map File per Test模式与Global GUI Map File模式。
(1)请比较这两种GUI Map File 模式的优点和缺点。
(2)请分别说明在这两种GUI Map File模式下,WinRunner可以通过哪些方式 学习被测软件的GUI?
19、介绍在 WinRunner 中GUI映射文件(GUI Map File)的作用。 20、什么是数据驱动脚本?简介在Winrunner中如何实现数据驱动脚本
21、WinRunner 可以帮助用户自动处理从测试开发到测试执行的整个过程,可以 创建可修改和可复用的测试脚本,而不用担心软件功能模块的变更。 (1)请简述 WinRunner测试过程所包含的六个阶段。
(2)WinRunner 可以用录制的方式快速建立自动测试脚本,请问 WinRunner 提 供了哪几种可用的录制模式?请描述各种录制模式的特点。
三、设计题
(一)等价类题目
1、使用等价类划分法为NextDate函数设计测试用例: NextDate 函数包含三个输入变量 month、day 和 year(要求 month、day 和 year均为整数值,并且满足:1≤month≤12;1≤day≤31;1912≤year≤2050), 函数的输出为输入日期后一天的日期。
(1)分析NextDate函数的规格说明,列出输入域等价类表(包括有效和无效等价类)。
(2)根据(1)中的等价类表,设计能覆盖所有等价类的测试用例,要求包括输 入数据和预期输出,并指出各个测试用例所覆盖的等价类编号。
2、用等价类划分法测试为保险公司计算保费费率的程序。某保险公司的人寿保险的保费计算方式为:投保额*保险费率,其中的保险 费率依点数不同而有别,10点及10点以上保险费率为0.6%,10点以下保险费 率为0.1%;而点数又是由投保人的年龄、性别、婚姻状况和抚养人数来决定,具体规则如下:
对程序中各个输入条件的要求如下: 年龄是一位或两位非零整数,值的有效范围为 1~99;性别是一位英文字符, 有效取值只能为‘M’(表示男性)或’F’(表示女性) ;婚姻的有效取值只能为‘已 婚’或‘未婚’;抚养人数的有效取值可以是空白或一位非零整数(1~9)。
(1)分析程序的规格说明,列出等价类表(包括有效等价类和无效等价类)。 (2)根据(1)中的等价类表,设计能覆盖所有等价类的测试用例的输入数据和 预期输出。
3、某城市电话号码由三部分组成,分别是: 地区码——空白或三位数字;
前缀——非‘0’或‘1’开头的三位数字; 后缀—— 4位数字。
假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的 电话号码。
(1)分析程序的规格说明,列出输入域等价类表(包括有效和无效等价类)。 (2)根据(1)中的等价类表,设计能覆盖所有等价类的测试用例,要求包括输 入数据和预期输出,并指出各个测试用例所覆盖的等价类编号。
(二)决策表题目
1、用决策表测试法测试以下程序:该程序有三个输入变量 month、day、year (month、day 和 year 均为整数值,并且满足:1≤month≤12 和 1≤day≤31), 分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上隔 一天的日期。例如,输入为 2004 年 11 月 29 日,则该程序的输出为 2000 年 12 月1日。
(1) 分析各种输入情况,列出为输入变量 month、day、year 划分的有效等价类。
(2) 分析程序的规格说明,并结合以上等价类划分的情况,给出问题规定的可 能采取的操作(即列出所有的动作桩)。
(3) 根据(1)和(2),画出简化后的决策表。
(三)因果图题目
1、有一个处理单价为5角钱的饮料的自动售货机,其规格说明如下段文字,请 按要求作答。 若投入5角钱或 1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的 饮料就送出来。若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时 再投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱 找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。” 问题:
(1)分析该自动售货机的原因与结果(提示:要建立适当的中间节点); (2)画出包含其所有原因-中间节点-结果的因果图。
2、用因果图法测试以下程序。 程序的规格说明要求:输入的第一个字符必须是#或*,第二个字符必须是一个数字,在此情况下进行文件的修改;如果第一个字符不是#或*,则给出信息N, 如果第二个字符不是数字,则给出信息M。
(1)分析程序的规格说明,列出原因和结果。
(2)找出原因与结果间的因果关系、原因与原因间的约束关系,画出因果图。
(3)将因果图转换成决策表。
(4)根据(3)中的决策表,设计测试用例的输入数据和预期输出。
(四)逻辑覆盖题目
1、为下图设计足够的测试用例,分别实现对其的判定覆盖、条件覆盖和条件组合覆盖。
2、使用逻辑覆盖测试方法测试以下程序段:
void Do (int X,int A,int B) { 1 if ( (A>1) && (B==0) ) 2 X=X/A;
3 if ( (A==2) || (X>1) ) 4 X=X+1; 5 }
说明:程序段中每行开头的数字(1~5)是对每条语句的编号。 (1)画出程序的控制流图(用题中给出的语句编号表示)。
(2)分别以语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径 覆盖方法设计测试用例,并写出每个测试用例的执行路径(用题中给出的语句编号表示)。
3、使用逻辑覆盖测试方法测试以下程序段:
void DoWork (int x,int y,int z) { 1 int k=0,j=0;
2 if ( (x>3) && (z<10) ) 3 {
4 k=x*y-1; 5 j=sqrt(k); 6 }
7 if ( (x==4)||(y>5) ) 8 j=x*y+10; 9 j=j%3; 10 }
说明:程序段中每行开头的数字(1~10)是对每条语句的编号。 (1)画出程序的控制流图(用题中给出的语句编号表示)。
(2)分别以语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径 覆盖方法设计测试用例,并写出每个测试用例的执行路径(用题中给出的语句编号表示)。
(五)路径覆盖题目
1、使用基本路径测试方法测试以下程序段:
void sort ( int irecordnum, int itype ) 1 {
2 int x=0; 3 int y=0;
4 while ( irecordnum-- > 0 ) 5 {
6 if ( itype= =0 ) 7 break; 8 else
9 if ( itype= =1 ) 10 x=x+10; 11 else
12 y=y+20; 13 } 14 }
说明:程序段中每行开头的数字(1~14)是对每条语句的编号。 (1)画出程序的控制流图(用题中给出的语句编号表示)。 (2)计算上述程序段的环形复杂度。 (3)导出基本路径集,列出程序的路径(用题中给出的语句编号表示)。 (4)根据(3)中的路径,设计测试用例的输入数据和预期输出。
2、以下代码由C 语言书写,请按要求作答。
Int IsLeap(int year) 1 {
2 if (year % 4 = = 0) 3 {
4 if (year % 100 == 0) 5 {
6 if ( year % 400 = = 0) 7 leap = 1; 8 else
9 leap = 0; 10 } 11 else
12 leap = 1; 13 } 14 else
15 leap = 0; 16 return leap; 17 } 问题:
(1)画出以上代码的控制流图;
(2)计算上述控制流图的圈复杂度V(G)(线性路径数);
(3)假设输入的取值范围是1000 < year < 2001,请使用基本路径测试法为变 量 year设计测试用例,使其满足基本路径覆盖的要求。
四、综合应用题目
1、在软件开发与运行阶段一般需要完成单元测试、集成测试、确认测试、系统测试和验收测试,这些对软件质量保证起着非常关键的作用。
(1)请简述单元测试的主要任务。
(2)集成测试包括非增量式和增量式两种方法,增量式测试按照不同的实施次 序又可以分为自顶向下增量式测试和自底向上增量式测试。请比较上述两种增量式测试方法的优点和缺点。
(3)公司A承担了公司B的办公自动化系统的建设工作。2004年10月初,项目正处于开发阶段,预计2005年5月能够完成全部开发工作,但是合同规定2004 年10月底进行系统验收。因此,在2004 年10 月初,公司A依据合同规定向公司B和监理方提出在2004年10 月底进行验收测试的请求,并提出了详细的测试计划和测试方案。在该方案中指出测试小组由公司 A 的测试工程师、外聘测试专家、外聘行业专家以及监理方的代表组成。请问公司 A 的做法是否正确? 请给出理由。
2、分类总结目前常见的测试工具及其作用和特点。
一、判断题(每题1分,共10分)
1. 发现错误多的模块,残留在模块中的错误也多。( √ )
2. 测试人员在测试过程中发现一处问题,如果问题影响不大,而自己又可以修
改,应立即将此问题正确修改,以加快、提高开发的进程。( × ) 3. 单元测试通常应该先进行“人工走查”,再以白盒法为主,辅以黑盒法进行
动态测试。( √ )
4. 功能测试是系统测试的主要内容,检查系统的功能、性能是否与需求规格说
明相同。( √ )
5. 软件质量管理即QM由QA和QC构成,软件测试属于QC的核心工作内容。
( √ )
6. 软件测试只能发现错误,但不能保证测试后的软件没有错误。( √ ) 7. 软件就是程序。( × )
8. 测试只要做到语句覆盖和分支覆盖,就可以发现程序中的所有错误。( × )
10、I18N测试是指对产品做出具有国际性的规划,而L10N测试则是指对软件做出符合本地需求更改工作。( × )
二、选择题 (每题2分,共20分)
(A)1、在进行单元测试过程中,通常测试工程师都需要借助_____来代替所测模块调用的子模块。
A.桩模块 B.驱动模块 C.桩模块和驱动模块 D.存根模块和驱动模块
(D)2、对于软件的β测试,下列描述正确的是______。
A.β测试就是在软件公司内部展开的测试,由公司专业的测试人员执行的测试 B.β测试就是在软件公司内部展开的测试,由公司的非专业测试人员执行的测试
C.β测试就是在软件公司外部展开的测试,由专业的测试人员执行的测试 D.β测试就是在软件公司外部展开的测试,可以由非专业的测试人员执行的测试
(A)3、在单元测试的基础上,需要将所有模块按照概要设计和详细设计说明书的要求进行组装,模块组装成系统的方式有两种,分别是______。
A.一次性组装和增殖性组装 B.自顶向下组装和自底向上组装
C.单个模块组装和混合模块组装 D.接口组装和功能组装 (B)5、_____可以作为软件测试结束的标志。
A.使用了特定的测试用例 B.错误强度曲线下降到预定的水平
C.查出了预定数目的错误 D.按照测试计划中所规定的时间进行了测试 (B)6、关于对第三方测试的描述,正确的观点是___________。 A.既不是开发人员,也不是用户所进行的测试就是第三方测试
B.由在技术、管理和财务上与开发方和用户方相对的组织进行的测试 C.第三方测试是在开发方与用户方的测试基础上所进行的验证测试 D.第三方测试又被称为β测试
(A)7、使用白盒测试方法时,确定测试数据应根据( )和指定的覆盖标准。 A. 程序的内部逻辑 B. 程序的复杂程度 C. 使用说明书 D. 程序的功能 (C)8、对程序中已发现的错误进行定位和确定出错性质,并改正这些错误,同时修改相关的文档,称为:
A.测试 B. 调试 C. 错误分析 D. 验证 (C)9、计算机软件测试规范规定,软件测试的类别可分为:单元测试、集成测试以及
A. 系统测试 B. 验收测试 C. 系统测试和验收测试 D. 配置项测试、系统测试和验收测试
(A)10、下列哪一项不属于软件功能易用性测试关注的内容( ) A.软件界面的色彩是否协调
B. 软件是否能主动禁止操作人员进行的非法操作 C.软件是否允许用户对自己的操作习惯进行定制 D.软件是否能够帮助用户减少输入中的重复劳动
三、问答题(每题10分,共50分)
1、 测试人员在软件开发过程中的任务是什么? (10分)
答:测试人员在软件开发过程中的任务:①注重用户需求,需求分析整理 ②寻找软件缺陷 ③避免软件开发过程中的缺陷 ④衡量软件的品质即确保软件产品的质量。
2、一条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?(10分)
答:①一条软件缺陷记录着:测试软件名称、测试版本号、测试人名称、测试事件、测试软件的硬件配置环境、发现软件错误的类型、错误的严重等级、详细步骤、必要的附图,测试注释。
②要有效地发现软件缺陷需要参考需求以及详细设计等前期文档设计出好的测试用例,然后严格执行测试用例,对发现的问题要充分确认肯定,然后再向外发布才能提高Bug的质量
3、 黑盒测试和白盒测试是软件测试的两种基本方法,请分别说明各自的优点和缺点! (10分)
答:黑盒测试的优点:①不需要了解程序内部的代码结构,操作简单,与软件的内部无关,② 从用户角度出发,能够更容易地了解到用户的需求和遇到的问题所在 ③能够根据软件开发文档,能够知道该软件产品实现了哪些功能 ④方便软件测试自动化。
黑盒测试的缺点:①软件自动化测试复用性比较低 ②不能覆盖所有的程序内部的代码,覆盖率比较低。
白盒测试的优点:帮助测试人员增加代码的覆盖率,提高代码的质量,发现代码中隐藏的问题。
白盒测试的缺点:①测试基于代码,只能测试出软件开发人员做的对不对,而不能知道设计的正确与否 ②程序运行会有很多不同的路径,不能测试所有的运行路径。③ 系统非常庞大的时候 测试开销费用会非常大。
4、 根据自己的理解回答什么是软件测试,软件测试分为哪几个阶段。 (10分)
答:软件测试就是使用人工手动或者自动手段(比如利用测试工具并按照测试方案等等)对软件产品进行功能和性能的测试,目的是为了检验是否满足需求和预期结果和实际结果之间的差别。按照开发阶段来划分,软件测试分为五个主要阶段:①单元测试、②集成测试、③确认测试、④系统测试、⑤验收测试。
5、 根据自己的理解什么是测试用例,设计一个测试用例应当从哪几方面考虑? (10分)
答:测试用例就是为软件产品特定目标(即为了验证一个特定的程序路径或核实是否符合特定需求)开发的测试输入、执行条件和预期结果的集合。
设计一个测试用例需要从测试用例设计方法、测试方法、测试工具、测试环境和测试数据包括测试输入、执行条件、操作步骤、预期/实际结果、是否具有可重复性这些方面进行考虑。
四、测试用例设计题(20分)
某城市电话号码由三部分组成,分别是: 地区码—— 空白或三位数字;
前 缀—— 非‘0’或‘1’开头的三位数字; 后 缀—— 4位数字。
假定被测程序能接受一切符合上述规定的电话号码, 拒绝所有不符合规定的电话号码。要求:
(1)根据黑盒测试方法的等价类划分法,给出测试用例表。 根据等价类划分:
地区码 有效等价类 空白 3位数字 无效等价类 少于3位数 多于3位数 包含非数字字符 前缀 少于3位数字 多于3位数字 包含非数字字符 开头为“2-9”数字的位数字 4位数字 开头为“0”的3位数 开头为“1”的3位数 少于4位数字 多于4位数字 后缀 包含非数字字符
等价类划分用例 编号 1 2 3 4 5 6 7 8 9 10 11 12 地区码 空白 123 2B 11 1111 111 111 222 333 444 555 666 前缀 234 456 234 234 234 121 012 34 3456 234 345 456 后缀 1111 1111 5678 5678 5678 1111 1111 2222 3333 1A2B 111 12345 备注 有效 -234-1111 有效 123-456-0000 无效 2B-234-5678 无效 11-234-5678 无效 1111-234-5678 无效 111-121-1111 无效 111-012-1111 无效 222-34-2222 无效 333-3456-3333 无效 444-234-1A2B 无效 555-345-111 无效 666-456-12345
(2)如果所生成的测试用例不够全面,请考虑用别的测试方法生成一些补充的测试用例。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务