软件测试试题样例(仅供参考)

合集下载

软件测试技术考试试题及答案

软件测试技术考试试题及答案

软件测试技术考试试题及答案在软件开发和应用过程中,软件测试技术起到了至关重要的作用。

通过测试,可以验证软件的正确性、可靠性和安全性,帮助开发团队发现和修复潜在的问题,从而提高软件质量。

对于软件测试技术的掌握,既是软件测试人员的基本素养,也是求职者在面试过程中的一项重要能力。

下面,本文为大家总结了一些常见的软件测试技术考试试题,并给出了详细的答案,希望对大家的学习和提升有所帮助。

试题一:请简要介绍软件测试的目的和重要性。

答案一:软件测试的目的是为了发现软件中的缺陷和错误,确保软件能够按照需求规格书的要求正常工作。

软件测试的重要性主要有以下几个方面:1. 发现问题:通过测试可以发现软件中的缺陷和错误,帮助开发团队及时修复,提高软件质量。

2. 提高可靠性:经过充分的测试,可以提高软件的可靠性和稳定性,减少用户在使用过程中遇到的问题。

3. 降低成本:通过测试能够及早发现问题,避免将缺陷带入后续的开发和维护阶段,从而减少修复成本。

4. 用户满意度:通过测试可以提高软件的质量,满足用户对软件功能和性能的需求,提升用户的满意度。

试题二:请简要解释黑盒测试和白盒测试的含义,并列举它们的优缺点。

答案二:黑盒测试和白盒测试是两种常见的测试方法,它们的主要区别在于对软件内部结构的了解程度。

黑盒测试:黑盒测试是在不考虑软件内部结构的情况下进行测试,主要关注软件的功能是否按照需求规格书的要求正常运行。

黑盒测试可以模拟用户的行为,通过输入和输出来验证软件的正确性和可用性。

优点:1. 不依赖开发者:黑盒测试不需要了解软件的内部结构,可以独立进行。

2. 覆盖广泛:通过黑盒测试可以覆盖软件的各种功能和使用场景,提高测试的全面性和有效性。

缺点:1. 需要大量的测试用例:为了达到全面性,黑盒测试需要编写大量的测试用例,增加了测试的工作量。

2. 可能无法发现所有缺陷:由于无法看到软件的内部结构,黑盒测试可能无法发现一些与内部实现相关的缺陷。

软件测试题目及其答案

软件测试题目及其答案

1.动手实践题。

火车票退款业务流包括多个业务环节,其中比较重要的一个环节就是退票金额的计算。

请先熟悉下面的退票业务需求。

退票业务需求描述:(1)对开车前15天(不含)以上退票的,不收取退票费。

(2)票面乘车站开车前48小时以上的,退票时收取票价5%的退票费。

(3)开车前24小时以上、不足48小时的,退票时收取票价10%的退票费。

(4)开车前不足24小时的,退票时收取票价20%的退票费。

(5)上述计算的尾数以5角为单位,尾数小于2.5角的舍去、2.5角以上且小于7.5角的计为5角、7.5角以上的进为1元。

(6)开车前2小时并且没有打印纸质车票,可以在网上退票,晚于开车前2小时或者已经打印了车票,只能在车站退票窗口办理。

假设用户张三购买了一张2019年6月30日上午07:52(2019-06-30-07)的火车票,请尝试运用场景法设计该用户退票流程的测试用例。

订单参见图6-26。

图6-26 火车票订单答案:用场景法设计测试用例。

2.动手实践题。

某程序有4个输入因子A,B,C,D,其水平分别为: A: A1,A2 B: B1,B2,B3 C: C1,C2,C3,C4 D: D1,D2,D3 试用PICT工具为该程序设计测试用例。

答案:创建test1.txt文件,保存到PICT安装目录下,文件内容如下示:打开CMD命令控制台,切换到PICT安装目录,运行PICT命令生成测试用例,如下图所示:最终生成的测试用例如下图所示:3.动手实践题。

设有3个独立的查询条件,根据这些查询条件可以获得特定员工的个人信息。

员工号(ID)员工姓名(Name)员工邮件地址(Email)每个查询条件包括3种情况:不填、填上正确的内容、填上错误的内容。

请用正交试验法为其设计测试用例。

答案:员工号(ID):1001、NULL、A!员工姓名(Name):Alice、NULL、A!001员工邮件地址(Email):************、NULL、A!001选择正交表L9(34),共9条测试用例,如下表示。

(完整版)软件测试题目与答案

(完整版)软件测试题目与答案

软件测试课堂测验第一次测验:Consider an application App that takes two inputs name and age, where name is a nonempty string containing at most 20 alphabetic characters and age is an integer that must satisfy the constraint 0≤age≤120. The App is required to display an error message if the input value provided for age is out of range. The application truncates any name that is more than 20-character in length and generates an error message if an empty string is supplied for name.(1)Please find out the equivalence classes(等价类). (30分)(2)Construct test cases using the equivalence classes derived in(1)(20分)答案:Consider a method fp, brief for findPrice, that takes two inputs code and qty. The item code is represented by the integer code and the quantity purchased by another integer variable qty. fp accesses a database to find and display the unit price, the description, and the total price of the item corresponding to code. fp is required to display an error message, and return, if either of the two inputs is incorrect. Assuming that an item code must be in the range 99…999 and quantity in the range 1…100.Please give your test cases using boundary-value analysis.(50分)答案:第二次:1.Develop a decision table for the descriptions belowNo charges are reimbursed(报销)to the patient until the deductible(扣除)has been met. After the deductible has been met, the amount to be reimbursed depends on whether or not the doctor or hospital is a "Preferred Provider." For preferred providersDoctor's office visits are reimbursed at 65% and Hospital visits are reimbursed at 95%. For other providers reimburse 50% for Doctor's Office visits or 80% for Hospital visits.答案:2.Develop a decision table for the YesterDate function.答案:第三次:Cause-Effect Testing:In a given network, the sendfile command is used to send a file to a user on a different file server. The sendfile command takes three arguments: the first argument should be an existing file in the sender’s home directory, the second argument should be the name of the receiver’s file server, and the third argument should be the receiver’s userid. If all the arguments are correct, then the file is successfully sent; otherwise the sender obtains an error message.答案:中国象棋走马下法:1. 如果落点在棋盘外,则不移动棋子;2. 如果落点与起点不构成日字形,则不移动棋子;3. 如果落点处有自己放棋子,则不移动棋子;4. 如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子;5. 如果不属于1-4,且落点处无棋子,则移动棋子;6.如果不属于1-4,且落点处为对方棋子(非老将),则移动棋子并除去对方棋子。

软件测试面试(题带答案)

软件测试面试(题带答案)

企业面试题试卷 测试基础 附带答案软件测试试述软件的概念和特点?软件复用的含义?构件包括哪些?1.瀑布模型和螺旋模型的主要区别是什么?2.3.软件生存周期及其模型是什么?什么是软件测试?软件测试的目的与原则4.净室软件工程的策略是什么?5.软件配置管理的作用?软件配置包括什么?6.什么是软件质量?软件包是什么?7.目前主要的测试用例设计方法是什么?8.软件的安全性应从哪几个方面去测试?9.1、 答案如下:a)软件是计算机系统中与硬件相互依存的另一部份,它是包括程序、文档的完整集合。

是将已有软件的各种有关知识用于建立新的软件, b)软件复用(Software Reuse)以缩减软件开辟和维护的花费。

软件复用是提高软件生产力和质量的一种重要技术。

早期的软件复用主要是代码级复用,被复用的知识专指程序,后来扩大到包括领域知识、开辟经验、设计决定、体系结构、需求、设计、代码和文档等一切有关方面。

可以被复用的软件成份普通称作可复用构件c)2、 答案如下:页的讲解,参考一下书上的说法进行对照即可。

考参照TP书上第六章45/46a)虑弹性、风险、成本,等几个方面。

3、 答案如下:a)软件生存周期是软件开辟全部过程、活动和任务的结构框架,是从可行性研究到需求分析、软件设计、编码、测试、软件发布维护的过程。

在经历需求、分析、设计、实现、部署后,软件将被使用并进入维护阶段,b)直到最后由于缺少维护费用而逐渐消亡。

这样的一个过程,称为”生命周期模)。

型”(Life Cycle Model4、 答案如下:a)使用人工或者自动手段,来运行或者测试某个系统的过程。

其目的在于检验它是否满足规定的需求或者弄清预期结果与实际结果之间的差别。

软件测试的目的:b)测试是程序的执行过程,目的在于发现错误i.一个成功的测试用例在于发现至今未发现的错误ii.一个成功的测试是发现了至今未发现的错误的测试iii.确保产品完成为了它所承诺或者发布的功能,并且用户可以访问到的功能都有明iv.确的书面说明。

计算机软件测试题库,带答案(单选,多选,判断,问答,分析)

计算机软件测试题库,带答案(单选,多选,判断,问答,分析)

计算机软件测试题库,带答案(单选,多选,判断,问答,分析)计算机软件测试题(单选,多选,判断,问答,分析)(总分:150分考试时间:90分钟)班级:姓名:分数:第一大题:单选题(60分,每小题1.5分)1. 测试工程师一般分为两类:测试开发工程师和(A )A. 软件测试工程师B. 软件开发工程师C. 通信开发工程师D. 黑盒测试工程师2. 一个完整的测试部门,一般不包含以下角色(D )A.测试主管B.测试工程师C.测试设计人员D.培训师3. 测试工程师由不包含以下哪一类(B)A. 白盒测试技术人员B. 前台美工技术人员C. 黑盒测试技术人员D. 自动化测试技术人员4. OSI7层模型不包括下面哪一层(C)A. 物理层B. 数据链路层C. 控制层D. 网络层5. 测试工程师的能力不包括(D)A. 能够熟练应用测试方法B. 能够独立编写测试计划C. 能够独立编写测试总结分析报告D. 能够编写入侵脚本攻击软件6. 软件测试的目的是(B )A 避免软件开发中出现的错误B 发现软件开发中出现的错误C 尽可能发现并排除软件中潜藏的错误,提高软件的可靠性D 修改软件中出现的错误7. 坚持在软件的各个阶段实施下列哪种质量保障措施,才能在开发过程中尽早发现和预防错误,把出现的错误克服在早期(A )。

A 技术评审B 程序测试C 改正程序错误D 管理评审8. 为了提高测试的效率,正确的做法是( A )。

A 选择发现错误可能性大的数据作为测试用例B 在完成程序的编码之后再制定软件的测试计划C 随机选取测试用例D 使用测试用例测试是为了检查程序是否做了应该做的事9. 以下那一种选项不属于软件缺陷(D )。

A 软件没有实现产品规格说明所要求的功能B 软件中出现了产品规格说明不应该出现的功能C 软件实现了产品规格没有提到的功能D 软件实现了产品规格说明所要求的功能但因受性能限制而未考虑可移植性问题10. 单元测试中设计测试用例的依据是( D )。

软件测试经典面试题(完整版)

软件测试经典面试题(完整版)

软件测试面试题汇总测试技术面试题 (5)1、什么是兼容性测试?兼容性测试侧重哪些方面? (5)2、我现在有个程序,发现在Windows上运行得很慢,怎么判别是程序存在问题还是软硬件系统存在问题? (5)3、测试的策略有哪些? (5)4、正交表测试用例设计方法的特点是什么? (5)5、描述使用bugzilla缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程? (5)6、你觉得bugzilla在使用的过程中,有什么问题? (5)7、描述测试用例设计的完整过程? (6)8、单元测试的策略有哪些? (6)9、LoadRunner分哪三部分? (6)10、LoadRunner进行测试的流程? (6)什么是并发?在lordrunner中,如何进行并发的测试?集合点失败了会怎么样? (6)12、使用QTP做功能测试,录制脚本的时候,要验证多个用户的登录情况/查询情况,如何操作? (6)13、QTP中的Action有什么作用?有几种? (6)14、TestDirector有些什么功能,如何对软件测试过程进行管理? (7)15、你所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试......)? . (7)16、条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录? (8)17、Beta测试与Alpha测试有什么区别? (8)18、软件的评审一般由哪些人参加?其目的是什么? (8)19、测试活动中,如果发现需求文档不完善或者不准确,怎么处理? (8)20、阶段评审与项目评审有什么区别? (8)21、阐述工作版本的定义? (8)22、什么是桩模块?什么是驱动模块? (8)23、什么是扇入?什么是扇出? (8)24、你认为做好测试计划工作的关键是什么? (8)25、你认为做好测试用例工作的关键是什么? (9)26、简述一下缺陷的生命周期? (9)27、软件的安全性应从哪几个方面去测试? (9)28、软件配置管理工作开展的情况和认识? (9)29、你觉得软件测试通过的标准应该是什么样的? (10)30、引入测试管理的含义? (10)31、一套完整的测试应该由哪些阶段组成? (10)32、单元测试的主要内容? (10)33、集成测试也叫组装测试或者联合测试,请简述集成测试的主要内容? (10)34、简述集成测试与系统测试关系? (10)35、软件测试的文档测试应当贯穿于软件生命周期的全过程,其中用户文档是文档测试的重点。

软件测试用例设计考核试卷

E. 增加测试灵活性
5. 以下哪些情况下可能需要回归测试?( )
A. 软件修复了一个bug
B. 软件添加了新功能
C. 环境发生变化
D. 代码重构
E. 更新了测试用例
6. 以下哪些工具可以用于自动化测试?( )
A. QTP
B. Selenium
C. JMeter
D. LoadRunner
E. Microsoft Word
D. 回归测试
10. 以下哪个不是软件测试的主要类型?( )
A. 功能测试
B. 性能测试
C. 安全性测试
D. 编码测试
11. 在软件测试用例设计中,以下哪个方法主要用于测试输入的有效性?( )
A. 等价类划分
B. 边界值分析
C. 错误推测法
D. 因果图法
12. 以下哪个测试主要用于检测软件的编码错误?( )
10. 在软件测试过程中,______是测试人员根据测试用例执行测试并记录测试结果的活动。
四、判断题(本题共10小题,每题1分,共10分,正确的请在答题括号中画√,错误的画×)
1. 软件测试的目的是证明软件是正确的。( )
2. 单元测试主要是由开发人员来执行的。( )
3. 测试用例设计完成之后,无需根据项目的变化进行更新。( )
2. 功能
3. 代码
4. 测试工具
5. 不能替代人工测试
6. 响应速度
7. 单元测试
8. 用户
9. 兼容性测试
10. 测试执行
四、判断题
1. ×
2. √
3. ×
4. √
5. ×
6. √
7. √
8. ×
9. √
10. ×

软件测试考试试题

软件测试考试试题软件测试考试试题在软件开发领域中,软件测试是非常重要的一环。

通过测试,可以发现和修复软件中的错误和缺陷,提高软件的质量和稳定性。

为了评估软件测试人员的能力和知识,各种软件测试考试应运而生。

本文将介绍一些常见的软件测试考试试题,以帮助读者更好地了解软件测试的知识和技能。

一、选择题1. 下列哪个不是软件测试的目的?A. 发现软件中的错误和缺陷B. 提高软件的质量和稳定性C. 验证软件是否满足用户需求D. 完全消除软件中的错误和缺陷2. 下列哪个不是软件测试的基本原则?A. 测试应该早期开始B. 100%的测试覆盖率是可行的C. 测试应该与开发过程同步进行D. 测试应该持续进行3. 下列哪个不是软件测试的类型?A. 单元测试B. 集成测试C. 系统测试D. 缺陷测试二、填空题1. 软件测试的主要目的是________软件中的错误和缺陷。

2. 软件测试的基本原则之一是测试应该与________过程同步进行。

3. 软件测试的主要分类包括单元测试、________测试和系统测试等。

三、简答题1. 请简要介绍一下软件测试的基本原则。

软件测试的基本原则包括:测试应该早期开始,测试应该与开发过程同步进行,测试应该持续进行。

早期开始的测试可以尽早发现和修复错误和缺陷,减少后期修复的成本。

与开发过程同步进行的测试可以及时发现问题,提高开发效率。

持续进行的测试可以保证软件的质量和稳定性。

2. 请简述一下单元测试和系统测试的区别。

单元测试是对软件中的最小单元进行测试,通常是对函数或模块进行测试。

它的目的是验证每个单元的功能是否正常。

而系统测试是对整个软件系统进行测试,验证软件是否满足用户需求。

单元测试注重细节和功能的正确性,而系统测试注重整体性和用户体验。

四、应用题某个软件开发团队正在开发一个电商网站,你是负责软件测试的人员。

请根据以下需求描述,设计相应的测试用例。

需求描述:用户可以通过网站注册账号,并登录购买商品。

高级软件测试面试真实案例

高级软件测试面试题目真实案例1、测试理论1.1描述如何为大型复杂系统制定测试策略。

1.2解释探索性测试与脚本测试的结合使用。

2、测试框架2.1 你如何设计一个可扩展的自动化测试框架。

2.2 讨论在自动化测试中,如何处理和维护测试数据。

3、性能测试3.1 解释如何进行分布式系统的容量规划和性能测试。

3.2 描述如何使用性能测试结果来优化系统架构。

4.、安全性测试4.1 讨论如何为Web应用和移动应用设计安全性测试策略。

4.2 解释什么是静态应用程序安全测试(SAST)和动态应用程序安全测试(DAST)。

5、测试工具于技术5.1 你有哪些使用开源测试工具的经验?谈谈选择原因及原理分析。

5.2 解释云测试和传统测试的区别。

6、移动-Web应用测试6.1 描述如何测试响应式Web设计。

6.2 解释在移动设备上进行自动化测试的挑战。

7、API-微服务测试7.1 讨论如何测试微服务架构的系统。

7.2 解释契约测试在微服务中的重要性。

8、编程8.1 常用的设计模式有哪些,怎么什么情况下使用。

8.2 平台与中台的定义是什么,区别在哪儿。

9、数据库9.1 解释如何测试数据库的高可用性和灾难恢复能力。

9.2 描述如何验证数据库的一致性和完整性。

14.1 描述如何使用数据库查询优化技术来提高测试性能。

14.2 解释数据库索引的工作原理,并讨论如何测试其有效性。

10、团队管理10.1 你有哪些领导测试团队的经验?描述你如何指导和提升团队的技能。

10.2 讨论如何建立和维护测试团队的知识共享文化。

11、过程改进11.1 解释如何使用CMMI或TMMi模型来改进测试过程。

11.2 讨论如何将业务目标和质量保证活动相结合。

11.3 讨论如何使用测试度量来评估测试效率和效果。

11.4 解释如何收集和分析测试数据来支持测试决策。

12、测试案例分析12.1 给出一个复杂系统的案例,描述你将如何设计和实施一个全面的测试计划。

12.2 在案例过程中,你是怎么做到质量保障,从哪些方面可用去做。

软件测试习题集及答案(详细版)

软件测试习题集及答案(详细版)预览说明:预览图片所展示的格式为文档的源格式展示,下载源文件没有水印,内容可编辑和复制一、判断分析题1.软件测试的目的是尽可能多的找出软件的缺陷。

(Y)2.软件测试的目的是证明软件没有错误。

(N)3.测试组负责软件质量。

(N )4.程序的效率与程序的复杂性相关。

(N )5.软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象性。

(Y )6.测试程序仅仅按预期方式运行就行了。

(N )7.好的测试员不懈追求完美。

( Y)8.不存在质量很高但可靠性很差的产品。

(N )9.测试是为了验证该软件已正确地实现了用户的要求。

( N)10.发现错误多的程序模块,残留在模块中的错误也多。

(Y )11.程序效率的提高主要应通过选择高效的算法来实现。

( Y)12.测试人员要坚持原则,缺陷未修复完坚决不予通过。

(N)13.项目立项前测试人员不需要提交任何工件。

(Y)14.缺陷跟踪系统只针对对测试人员来使用。

(N )15.从用户软件开发者的角度出发,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,以考虑是否可接受该产品。

(N )16.软件项目在进入需求分析阶段,测试人员应该开始介入其中。

( Y)17.测试是提高产品质量根本手段。

()18.代码评审员一般由测试员担任。

(N)19.代码评审是检查源代码是否达到模块设计的要求。

(N)20.软件测试员可以对产品说明书进行白盒测试。

(N )21.静态白盒测试可以找出遗漏之处的问题。

(Y )22.总是首先设计白盒测试用例。

(N)23.用黑盒法测试时,测试用例是根据程序内部逻辑设计的。

(N)24.黑盒测试方法中最有效的是因果图法。

(Y )25.软件测试按照测试过程分类为黑盒、白盒测试。

(N)26.白盒测试又称结构测试、逻辑驱动测试或基于程序的测试。

(Y)27.白盒测试时一般由开发人员兼任测试人员的角色。

(Y)28.黑盒测试是从用户观点出发的测试。

(Y)29.白盒测试是从用户观点出发的测试。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、判断题(每题1分,共10分,对的用‘Y’,错的用‘N’)得分:分
1、Alpha测试时软件的多个用户在实际使用环境中进行的测试。

()
2、自动化测试相比于手工测试而言,发现软件缺陷的能力很弱。

()
3、自动化测试不能保证100%的测试覆盖率。

()
4、“继承的测试用例”代表从父类测试用例中选取出来的,用于子类的测试用
例。

()
5、代码评审是检查源代码是否达到模块设计的要求。

()
6、单元测试能发现约80%的软件缺陷。

()
7、自底向上集成需要测试人员编写驱动程序。

()
8、负载测试的目标,是确定并确保系统在超出最大预期工作量的情况下仍然
能正常运行。

()
9、lint-nt.exe -u -id:\lint std.lnt sample.c中-u表示只对本单元进行检查。

()
10、测试人员要坚持原则,缺陷未修复完测试坚决不予通过。

()
二、选择题(每小题 2 分,共20分)得分:分
1、等价类划分完成后,就可以得出(),它是确定测试用例的基础。

A 有效等价类
B 无效等价类
C 等价类表
D 测试用例集
2、从是否执行被测软件的角度,软件测试可分为()。

A 白盒测试和黑盒测试
B 手工测试和自动化测试
C 静态测试和动态测试
D 单元测试、系统测试和集成测试
3、白盒测试方法的优点是()。

A 可测试软件的特定部位
B 能站在用户立场测试
C 可按软件内部结构测试
D 可发现实现功能需求中的错误
4、()是简化了模拟较低层次模块功能的虚拟子程序。

A 过程B函数C仿真D桩
5、确认测试计划是在()阶段完成后制定的。

A 可行性研究与计划
B 需求分析
C 概要设计
D 详细设计
6、系统测试用例设计是在()阶段完成后制定的。

A 可行性研究与计划
B 需求分析
C 系统、结构设计
D 详细或程序设计
7、逻辑覆盖法设计测试用例时,下面()是最强的覆盖准则。

A 语句覆盖
B 条件覆盖
C 判定-条件覆盖
D 路径覆盖
8、setUpBeforeClass()的作用是()
A 在所有测试前调用,整个测试过程中只被调用一次,初始化测试资源。

B 在所有测试后调用,整个测试过程中只被调用一次,释放测试资源。

C 在每个测试方法调用前被调用,负责初始化测试方法所需要的测试环境。

D 在每个测试方法被调用后调用,负责撤销测试环境。

9、QTP的脚本录制方式不包括( )。

A Normal Recording
B Analog Recording
C Low Level Recording
D Time Recording
10、VBScript中,RegExp对象常用的方法不包括()。

A Test
B Replace
C Ignore
D Execute
三、填空题(每空2分,共20分)得分:分
1、基于“单缺陷”假设,基本边界值分析法设计的有n个变量的测试对象所
需测试用例的个数为。

若在此基础上扩展无效取值,进行健壮性测试,那么测试用例的个数将变为。

2、正交试验法借助,从全面试验中挑选出部分有代表的点
进行试验。

3、Junit提供了一种批量运行测试类的方法,叫做。


种方法必须引入提示Junit用指定运行器执行。

4、请列出四种不同的QTP检查点、
、。

5、Junit中fail(【String message】)的作用是。

四、设计题(第1、2题各10分,第3、4题各15分,共50分)得分:分
1、某城市电话号码由三部分组成。

它们的名称和内容分别是:
地区码:空白或三位数字;
前缀:非“0”或“1”的三位数字
后缀:4位数字。

假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。

根据改程序的规格说明,做等价类的划分,并设计测试用例。

2、设要对一个自动饮料售货机软件进行黑盒测试。

该软件的规格说明如下:“有
一个处理单价为1元5角的盒装饮料的自动售货机软件,若投入1元5角硬币,按下“可乐”、“雪碧”或“红茶”按钮,相应的饮料就送出来。

若投入的是2元硬币,在送出饮料的同时退还5角硬币。


(1)试利用因果图法,建立该软件的因果图;
(2)设计测试该软件的全部测试用例。

3、下面给出计算所有非零输入数的绝对值和的程序(为了正确画出流图,这里把被映射为流图结点的程序语句编了序号):
1)begin
sum=0;
input a;
2)do while a!=0 {
3)if (a>0){
4)sum+=a;
}
else
{
5)sum-=a;
}
6)input a;
}
7)if(sum>0)
8)printf("The sum of your input is: %d",sum);
else
9)printf("The sum of your input is: -999"); 10)end
(1)为上述程序画出相应的流图。

(2)计算流图的环形复杂度。

(3)确定线性独立路径的基本集合。

4、下面是使用位组来跟踪一年中的那些天是节假日的程序。

(1)请用TestCase方法对程序中的isHoliday()方法进行Junit测试;
(2)用参数化的方法重新设计测试用例。

(3)再用Suite方法对上述两种测试用例进行套件测试。

import java.util.*;
public class HolidaySked {
BitSet sked;
public static void main(String[] arguments){
HolidaySked cal=new HolidaySked();
if(arguments.length>0){
try{
int whichDay=Integer.parseInt(arguments[0]);
if(cal.isHoliday(whichDay)){
System.out.println(whichDay+"is a holiday.");}
else
{System.out.println(whichDay+"is not a holiday.");}
}catch(NumberFormatException nfe){
System.out.println("Error: "+nfe.getMessage());}
}
}
public void addHoliday(int daytoAdd) {
sked.set(daytoAdd);
}
public boolean isHoliday(int dayToCheck){
boolean result=sked.get(dayToCheck);
return result;
}
public HolidaySked(){
sked=new BitSet(365);
int[] holiday={1,20,43,48,53,115,131,146,165,166,185,244,286,315,327,359};
for(int i=0;i<holiday.length;i++){
addHoliday(holiday[i]);
}
}。

相关文档
最新文档