软件测试工程师笔试题含答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件测试笔试题(含答案)
1.请写出一个你工作经历中的一个功能点测试用例,例如:用户页面登陆
2.请在以下两个项目当中,选择一个,考虑如何进行用例设计:a.杯子b.有弹簧的圆珠笔
杯子:
需求测试:查看杯子使用说明书
界面测试:查看杯子外观
功能度:用水杯装水看漏不漏;水能不能被喝到
安全性:杯子有没有毒或细菌
可靠性:杯子从不同高度落下的损坏程度
可移植性:杯子再不同的地方、温度等环境下是否都可以正常使用软件开发网兼容性:杯子是否能够容纳果汁、白水、酒精、汽油等
易用性:杯子是否烫手、是否有防滑措施、是否方便饮用
用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细描述
疲劳测试:将杯子盛上水(案例一)放24小时检查泄漏时间和情况;盛上汽油(案例二)放24小时检查泄漏时间和情况等
压力测试:用根针并在针上面不断加重量,看压强多大时会穿透
强度测试: 杯子加包装(有填充物),在多高的情况摔下不破损
有弹簧的圆珠笔:
功能测试:圆珠笔按下是否能正常写字,写字太重会不回缩回去,继续按会不会弹回去
性能测试:圆珠心弹出弹回的快慢
负载测试:一直按,弹簧能接受多少次的升缩
兼容性测试:换其他的笔芯能不能行
强度测试:用力过度会怎样
可恢复性测试:如果弹簧压久了,是否可恢复等等
GUI测试:笔的外观,拿笔的舒适性
安全性:考虑对笔芯的保护,是否对使用者造成危害等等
3.白箱测试和黑箱测试是什么?什么是回归测试?
白箱测试是在看懂程序代码和设计方案的前提下,进行软件的测试。这种测试注重于源代码
的覆盖率,同时需要测试者具备较高的技术水平。白箱测试的优点是可以对代码有详细的审
查,能找出隐藏在代码中的错误,从而确保高质量的代码;缺点是很多时候不能看完所有的
代码,不能找出欠缺的代码,同时白箱测试和用户如何使用软件无关。
黑箱测试的优点是测试者无需熟悉软件内部结构,并且根据蓝图在早期就可以制定测试方
案,并不依赖于开发者的工作进展,而且黑箱测试简单易行,对测试者的技术要求不高;但
是,黑箱测试主要是功能上的测试,只能覆盖只有一小部分的输入,不能保证程序的所有部
分都被测试到。
回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码
产生错误。自动回归测试将大幅降低系统测试、维护升级等阶段的成本。
回归测试包括两部分:函数本身的测试、其他代码的测试。
在对被修改的函数重新测试。如果函数的设计功能没有变化,直接运行函数测试就可以了。
如果修改了设计功能,则要根据增减的功能点,增加或删除测试用例。另外,还要完成白盒
覆盖。
函数代码的修改可能导致调用该函数的代码产生错误,所以需要测试其他代码。如果函数是
私有函数并且未涉及到全局变量,应运行类测试,否则应运行工程测试。在函数列表中选择
类测试或工程测试,编译运行测试工程,即可执行对其他代码的回归测试。
4.单元测试、集成测试、系统测试的侧重点是什么?
单元测试:以代码检查、逻辑覆盖
集成测试:增加静态结构分析、静态质量度量
系统测试:根据黑盒测试结果,采用白盒测试
单元测试是在软件开发过程中要进行的最低级别的测试活动,在单元测试活动中,软件的独
立单元将在与程序的其他部分相隔离的情况下进行测试。
集成测试,也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求,组
装成为子系统或系统,进行集成测试。实践表明,一些模块虽然能够单独地工作,但并不能
保证连接起来也能正常的工作。程序在某些局部反映不出来的问题,在全局上很可能暴露出
来,影响功能的实现。
系统测试是将经过测试的子系统装配成一个完整系统来测试。它是检验系统是否确实能提供
系统方案说明书中指定功能的有效方法。
5.设计用例的方法、依据有那些?
白盒测试用例设计有如下方法:基本路径测试\等价类划分\边界值分析\覆盖测试\循环测试\
数据流测试\程序插桩测试\变异测试.这时候依据就是详细设计说明书及其代码结构吧,恩,这
个真不确定
黑盒测试用例设计方法:基于用户需求的测试\功能图分析方法\等价类划分方法\边界值分析
方法\错误推测方法\ 因果图方法\判定表驱动分析方法\正交实验设计方法.依据是用户需求规格说明书,详细设计说明
书
6.一个测试工程师应具备那些素质和技能?
掌握基本的测试基础理论
本着找出软件存在的问题的态度进行测试,即客观吧,不要以挑刺形象出现
可熟练阅读需求规格说明书等文档
以用户的观点看待问题
有着强烈的质量意识
细心和责任心
良好的有效的沟通方式(与开发人员及客户)
具有以往的测试经验
能够及时准确地判断出高危险区在何处
①沟通能力
一名理想的测试者必须能够同测试涉及到的所有人进行沟通,具有与技术(开发者)和非技术人员(客户,管理人员)的交流能力。既要可以和用户谈得来,又能同开发人员说得上话,不幸的是这两类人没有共同语言。和用户谈话的重点必须放在系统可以正确地处理什么和不可以处理什么上。而和开发者谈相同的信息时,就必须将这些活重新组织以另一种方式表达出来,测试小组的成员必须能够同等地同用户和开发者沟通。
②移情能力
和系统开发有关的所有人员都处在一种既关心又担心的状态之中。用户担心将来使用一个不符合自己要求的系统,开发者则担心由于系统要求不正确而使他不得不重新开发整个系统,管理部门则担心这个系统突然崩溃而使它的声誉受损。测试者必须和每一类人打交道,
因此需要测试小组的成员对他们每个人都具有足够的理解和同情,具备了这种能力可以将测
试人员与相关人员之间的冲突和对抗减少到最低程度。
③技术能力
就总体言,开发人员对那些不懂技术的人持一种轻视的态度。一旦测试小组的某个成员作出了一个错误的断定,那么他们的可信度就会立刻被传扬了出去。一个测试者必须既明白被测软件系统的概念又要会使用工程中的那些工具。要做到这一点需要有几年以上的编程经验,前期的开发经验可以帮助对软件开发过程有较深入的理解,从开发人员的角度正确的评价测试者,简化自动测试工具编程的学习曲线。
④自信心
开发者指责测试者出了错是常有的事,测试者必须对自己的观点有足够的自信心。如果容许别人对自己指东指西,就不能完成什么更多的事情了。
⑤外交能力
当你告诉某人他出了错时,就必须使用一些外交方法。机智老练和外交手法有助于维护