软件测试笔试题
目录
- 1、你在测试中发现了一个bug,但是开发经理认为这不是一个bug,你应该怎样解决?
- 2、给你一个网站,该如何测试?
- 3、一台客户端有三百个客户与三百个客户端有三百个客户对服务器施压,有什么区别?
- 4、在您以往的工作中,一条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?
- 5、如何测试一个纸杯?
1、你在测试中发现了一个bug,但是开发经理认为这不是一个bug,你应该怎样解决?
首先,将问题提交到缺陷管理库里面进行备案。
然后,要获取判断的依据和标准:根据需求说明书、产品说明、原型图、设计文档等,确认实际结果是否与计划有不一致的地方,提供缺陷是否确认的直接依据。
如果没有文档依据:
(1)可以根据同行或类似软件的一般特性来说明是否存在不一致的地方,来确认是否是缺陷;
(2)根据用户的一般使用习惯,来确认是否是缺陷;
(3)与设计人员、开发人员和客户代表等相关人员探讨,确认是否是缺陷。
合理的论述,向测试经理说明自己的判断的理由,等待测试经理做出最终决定,如果仍然存在争议,可以通过公司政策所提供的渠道,向上级反映,并由上级做出决定。
2、给你一个网站,该如何测试?
首先,查找需求说明、网站设计等相关文档,分析测试需求。
制定测试计划,确定测试范围和测试策略,一般包括以下几个部分:功能性测试、界面测试、性能测试、数据库测试、安全性测试、兼容性测试,设计测试用例等。
(1)功能性测试可以包括,但不限于以下几个方面:
1)链接测试。链接是否正确跳转,是否存在空页面和无效页面,是否有不正确的出错信息返回。
2)提交功能的测试。
3)多媒体元素是否可以正确加载和显示。
4)多语言支持是否能够正确显示选择的语言等。
(2)界面测试可以包括但不限于以下几个方面:
1)页面是否风格统一,美观。
2)页面布局是否合理,重点内容和热点内容是否突出。
3)控件是否正常使用。
4)对于必须但未安装的控件,是否提供自动下载并安装的功能。
5)文字检查。
(3)性能测试一般从以下几个方面考虑:
压力测试、负载测试、强度测试。
(4)数据库测试要具体决定是否需要开展:
数据库一般需要考虑连接性,对数据的存取操作,数据内容的验证等方面。
(5)安全性测试:
1)基本的登录功能的检查。
2)是否存在溢出错误,导致系统崩溃或者权限泄露。
3)相关开发语言的常见安全性问题检查,例如SQL注入等。
4)如果需要高级的安全性测试,确定获得专业安全公司的帮助,外包测试或者获取支持。
(6)兼容性测试,根据需求说明的内容,确定支持的平台组合:
1)浏览器的兼容性。
2)操作系统的兼容性。
3)软件平台的兼容性。
4)数据库的兼容性。
开展测试,并记录缺陷。合理的安排调整测试进度,提前获取测试所需的资源,建立管理体系(例如:需求变更、风险、配置、测试文档、缺陷报告、人力资源等内容)。定期评审,对测试进行评估和总结,调整测试的内容。
3、一台客户端有三百个客户与三百个客户端有三百个客户对服务器施压,有什么区别?
300个用户在一个客户端上,会占用客户机更多的资源,而影响测试的结果。
线程之间可能发生干扰,而产生一些异常。
300个用户在一个客户端上,需要更大的带宽。
IP地址的问题,可能需要使用IP Spoof来绕过服务器对于单一IP地址最大连接数的限制。
所有用户在一个客户端上,不必考虑分布式管理的问题;而用户分布在不同的客户端上,需要考虑使用控制器来整体调配不同客户机上的用户。同时,还需要给予相应的权限配置和防火墙设置。
4、在您以往的工作中,一条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?
一条Bug记录最基本应包含:
(1)bug编号
(2)bug严重级别,优先级
(3)bug产生的模块
(4)首先要有bug摘要,阐述bug的内容
(5)bug对应的版本
(6)bug详细现象描述,包括一些截图、录像等
(7)bug出现时的测试环境,产生的条件即对应操作步骤
高质量的Bug记录:
(1)缺陷报告的UI要与测试的软件UI保持一致,便于查找定位。
(2)使用业界惯用的表达术语和表达方法,保证表达准确,体现专业化。
(3)每条缺陷报告只包括一个缺陷,可以使缺陷修正者迅速定位一个缺陷,集中精力每次只修正一个缺陷。校验者每次只校验一个缺陷是否已经正确修正。
(4)首先缺陷报告必须展示重现缺陷的能力。不可重现的缺陷要尽力重现,若尽力之后仍不能重现,仍然要报告此缺陷,但在报告中要注明无法再现,缺陷出现的频率。
(5)根据缺陷的现象,总结判断缺陷的类型。例如,即功能缺陷、界面缺陷、数据缺陷,合理化建议,这是最常见的缺陷或缺陷类型,其他形式的缺陷也从属于其中某种形式。
(6)高严重问题可能描述(Description),简洁、准确,完整,揭示缺陷实质,记录缺陷或缺陷出现的位置描述要准确反映缺陷的本质内容,简短明了。为了便于在软件缺陷管理数据库中寻找制定的测试缺陷,包含缺陷发生时的用户界面(UI)是个良好的习惯。例如记录对话框的标题、菜单、按钮等控件的名称。
(7)短行之间使用自动数字序号,使用相同的字体、字号、行间距,可以保证各条记录格式一致,做到规范专业。
(8)确认步骤完整,准确,简短保证快速准确的重复缺陷,“完整”即没有缺漏,“准确”即步骤正确,“简短”即没有多余的步骤。
(9)根据缺陷,可选择是否进行图像捕捉为了直观的观察缺陷或缺陷现象,通常需要附加缺陷或缺陷出现的界面,以图片的形式作为附件附着在记录的“附件”部分。为了节省空间,又能真实反映缺陷或缺陷本质,可以捕捉缺陷或缺陷产生时的全屏幕,活动窗口和局部区域。为了迅速定位、修正缺陷或缺陷位置,通常要求附加中文对照图。
(10)如果打开某个特殊的文档而产生的缺陷或缺陷,则必须附加该文档,从而可以迅速再现缺陷或缺陷。有时,为了使缺陷或缺陷修正者进一步明确缺陷或缺陷的表现,可以附加个人的修改建议或注解。
(11)在提交每条缺陷或缺陷之前,检查拼写和语法,确保内容正确,正确的描述缺陷。要求客观的描述操作步骤,不需要修饰性的词汇和复杂的句型,增强可读性。
以上概括了报告测试缺陷的规范要求,随着软件的测试要求不同,测试者经过长期测试,积累了相应的测试经验,将会逐渐养成良好的专业习惯,不断补充新的规范书写要求。此外,经常阅读、学习其他测试工程师的测试缺陷报告,结合自己以前的测试缺陷报告进行对比和思考,可以不断提高技巧。
缺陷描述内容:
缺陷描述的内容可以包含缺陷操作步骤,实际结果和期望结果。操作步骤可以方便开发人员再现缺陷进行修正,有些开发的再现缺陷能力很差,虽然他明白你所指的缺陷,但就是无法再现特别是对系统不熟悉的新加入开发人员,介绍步骤可以方便他们再现。实际结果可以让开发明白错误是什么,期望结果可以让开发了解正确的结果应该是什么样子的。
5、如何测试一个纸杯?
功能性:用水杯装水看漏不漏;水能不能被喝到。
安全性:杯子有没有毒或细菌。
可靠性:杯子从不同高度落下的损坏程度。
可移植性:杯子在不同的地方、温度等环境下是否都可以正常使用。
兼容性:杯子是否能够容纳果汁、白水、酒精、汽油等。
易用性:杯子是否烫手、是否有防滑措施、是否方便饮用。
用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细描述。
疲劳测试:将杯子盛上水(案例一)放24小时检查泄漏时间和情况;盛上汽油(案例二)放24小时检查泄漏时间和情况等。
压力测试:用根针并在针上面不断加重量,看压强多大时会穿透。