常考的几道软件测试面试题及答案分享:
(一)用户文档的测试一般要关注文档那些特性?
1)、用户文档的完整性:用户文档应包含产品使用所需要的全部信息:(包括用户可调用的所有功能;所有边界值;如果安装能由用户来完成,则用户文档应包括安装手册;如果维护能由用户来完成,则用户文档应包括程序维护手册);
2)、用户文档的正确性:用户文档中所有信息应是正确的,不能有歧义和错误的表达
3)、用户文档一致性:用户文档自身内容或相互之间以及与软件系统之间都不应相互矛盾。每个术语的含义宜处处保持一致,应保持95%的一致性;
4)、用户文档的易理解性:用户文档对于正常执行其工作任务的一般用户宜是易理解的;用户文档应条理清晰、功能模块明确、功能描叙详细易懂;
5)、用户文档的易浏览性:用户文档易浏览,相互关系明确,每个文档有目录和索引表;如果文档未提供印刷本,则应指明打印过程
按bug严重性分类可将BUG分为那些类型?
按bug严重性分类可将BUG分为 A类严重、B类一般、C类轻微、D类改进,那么请将界面类、功能类、性能类等各种类型的错误归纳到前面的四类中。
A类:严重错误,包括以下各种错误
1.由于程序所引起的死机,非法退出
2.死循环
3.数据库发生死锁
4.数据库设计未达到第三范式的要求或需求规格说明的格式水平 5.功能错误 6.与数据库连接错误
7.数据通讯错误
B类:较严重错误,包括以下各种错误
1.程序错误
2.因错误操作迫使程序中断
3.程序接口错误
4.数据库的表、业务规则、缺省值未加完整性等约束条件 C类:一般性错误,包括以下各种错误
1.操作界面错误(包括数据窗口内列名定义、含义是否一致) 2.打印内容、格式错误 3.简单的输入限制未放在前台进行控制
4.删除操作未给出提示
5.数据库表中有过多的空字段
D类:较小错误,包括以下各种错误
1.界面不规范
2.辅助说明描述不清楚
3.输入输出不规范
4.长操作未给用户提示
5.提示窗口文字未采用行业术语
6.可输入区域和只读区域没有明显的区分标志 E类:测试建议,这一类相当重要
(二)介绍一下你对白盒测试的认识:
白盒测试(White-box Testing,又称逻辑驱动测试,结构测试)是把测试对象看作一个打开的盒子。利用白盒测试法进行动态测试时,需要测试软件产品的内部结构和处理过程,不需测试软件产品的功能。白盒测试又称为结构测试和逻辑驱动测试。
白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。
六种覆盖标准:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖发现错误的能力呈由弱至强的变化。语句覆盖每条语句至少执行一次。判定覆盖每个判定的每个分支至少执行一次。条件覆盖每个判定的每个条件应取到各种可能的值。判定/条件覆盖同时满足判定覆盖条件覆盖。条件组合覆盖每个判定中各条件的每一种组合至少出现一次。路径覆盖使程序中每一条可能的路径至少执行一次。
白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。 白盒”法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。”白盒”法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。但即使每条路径都测试了仍然可能有错误。
第一,穷举路径测试决不能查出程序违反了设计规范,即程序本身是个错误的程序。
第二,穷举路径测试不可能查出程序中因遗漏路径而出错。
第三,穷举路径测试可能发现不了一些与数据相关的错误。
(三)Web应用测试性能及功能测试标准(样本)
前提:并发用户数为5个以内,在线用户数为5个以内,CPU占用都在7%以下,内存在7%以下,I/O处于不繁忙状态1. 用户登录响应时间不能超过5S。
2. 按用户/账户/客户查询与缴费两个操作响应时间都需要在3~5S完成(但是如果数据量超过5条情况下响应时间分别为7S以内)。
3. 所有查询数据在5条以内,响应在5S以内(包括日志,余额查询等)。
4. 所有查询数据在5条以上,响应时间在1S以内 (包括日志,余额查询等),如果数据量巨大(例如:1万条等),根据实际情况限制处理。
5. 所有查询数据5~5条之间,响应时间在8S以内 (包括日志,余额查询等)。
6. 所有查询操作都需要显示进度导航条,便于用户感受(针对特殊过程,与开发具体讨论)。
7. 所有导入/导出/生成文件 数据在5条以内,响应在5S以内(包括日志,余额查询等)。
8. 所有导入/导出/生成文件 数据在5条以上,响应时间在15S以内 (包括日志,余额查询等), 如果数据量巨大(例如:1万条等),根据实际情况限制处理。
9. 所有导入/导出/生成文件 数据5~5条之间,响应时间在1S以内 (包括日志,余额查询等)。
1. 所有查询导入/导出/生成文件 数据操作都需要显示进度导航条,便于用户感受。
11. 所有系统处理(具体指:销帐,返销账,扎账处理等,不属于统计、查询、导入、导出类)数据的过程时间不能超过5S(针对特殊过程,与开发具体讨论)。
12. 所有功能项(从“网厅对账”切换到“退费管理”、“返销帐”切换到“扎帐处理”等)WEB页面切换时间在3S以内。
13. 添加/删除/修改操作的时候,如果是一条数据,响应时间在3S以内。
14. 添加/删除/修改操作批量数据,响应时间在5S以内。
15. 如果显示数据包含多列,列距可以手动移动。
16. 显示数据包含多列,暂定义如果列数不超过7列的情况下,全部显示在WEB页面。如果超过7列,增加一列“详细”单击“详细”显示所有列数据,其中7列显示重要字段内容。力争整体页面不需要左右滚动条(如果列数做成可配置更好)。
17. 如果列宽不能显示完全数据,应当当鼠标置于数据不完全项时,自动在鼠标右下方显示全部内容或者自动换行(两者只能使用其一,且所有界面保持一致)。
18. WEB页面,单页显示数据的行数不要超过5行,如果超过5行,翻页显示(如果行数做成可配置更好),翻页显示,在页面的右下角处,需要有“上页、下页、跳转、首页、尾页”等按扭。
19. 行距可以手动移动。
2. 查询时,列名应固定,不能随下拉滚动条移动。
21. 在有需要修改、删除、等操作的页面中,修改、删除按钮应固定,不能随滚动条而动,因数据行数过多时,选中一条数据,还需拉到最下方点击按钮,操作不方便(针对特殊过程,与开发具体讨论)。
22. 删除/修改某一行记录,删除/修改之后,仍然停留当前位置,不整页重新查询。
23. 对必填项应有提示信息,如在必填项前加*(*使用红色标识)。
24. 在可多选的数据项,应有全选及全不选复选框。
25. 对一些不允许输入信息的字段应做不可编辑限制。
26. WEB页面查询出数据,应当按某一列进行排序或者根据客户要求多列排序。
27. 时间、类型、原因等查询类型里面,应该有默认值(针对特殊过程,与开发具体讨论)。
28. WEB页面字符要保持一致,界面要统一(如:冒号,要么统一使用全角要么统一使用半角)。
29. 错误提示,风格要统一(如:如果有错误,统一使用弹出对话框方式,且使用对话框也要统一)。
3. 非统计(例如:规则)类等需要支持模糊查询。
31. 注释语句要使用统一格式(例如:颜色、字体等都需要统一)。
32. 每个功能按扭都需要支持“回车键”操作(针对特殊过程,与开发具体讨论)。
33. 每个输入框需要基本的内容及长度效验功能。
34. 如果输入框涉及金额及需要单位的,在输入框旁边添加单位。
35. 分别支持IE(不同版本也需要支持)和firefox等浏览器。
36. 用户密码/登录密码等重要信息需要加密保存。
37. WEB页面需要超时设置,超时时间可以在配置文件里面配置。
38. 错误提示要定位准确,提示信息简洁、易懂。不能出现“如:-145”直接弹错误码这种提示(针对具体不容易说明错误原因,与测试人员一起沟通)。
(四)单元测试、集成测试、系统测试的侧重点是什么?
单元测试是在软件开发过程中要进行的最低级别的测试活动,在单元测试活动中,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。
集成测试,也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求,组装成为子系统或系统,进行集成测试。实践表明,一些模块虽然能够单独地工作,但并不能保证连接起来也能正常的工作。程序在某些局部反映不出来的问题,在全局上很可能暴露出来,影响功能的实现。
系统测试是将经过测试的子系统装配成一个完整系统来测试。它是检验系统是否确实能提供系统方案说明书中指定功能的有效方法。
(五)常用自动化测试工具都有哪些?
软件测试方面的工具很多,主要有MercuryInteractive(MI)、Rational、 Compuware、Segue和Empirix等公司的产品,而MI公司和Rational公司的产品占了主流。
Winrunner:是一种企业级的用于检验应用程序是否如期运行的功能性测试工具。通过自动捕获,检测,和重复用户交互的操作,WinRunner 能够辨认缺陷并且确保那些跨越多个应用程序和数据库的业务流程在初次发布就能避免出现故障,并且保持长期可靠运行。
Loadrunner:是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner 能够对整个企业架构进行测试。通过使用LoadRunner ,企业能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。
TestDirector:是基于Web的测试管理解决方案,它可以在公司内部进行全球范围的测试协调。TestDirector能够在一独立的应用系统中提供需求管理功能,并且可以把测试需求管理于测试计划、测试日程控制、测试执行和错误跟踪等功能融合为一体,因此极大地加速了测试的进程。 TestDirector提供完整且无限制的测试管理框架,实现对应用测试全部阶段的管理与控制。
QuickTest Professional::是一个功能测试自动化工具,主要应用在回归测试中。QuickTest针对的是GUI应用程序,包括传统的Windows应用程序,以及现在越来越流行的Web应用。它可以覆盖绝大多数的软件开发技术,简单高效,并具备测试用例可重用的特点。其中包括:创建测试、插入检查点、检验数据、增强测试、运行测试、分析结果和维护测试等方面。
Apache JMeter (http://jakarta.apache.org/jmeter/ ):Apache JMeter是1%的Java桌面应用程序,它被设计用来加载被测试软件功能特性、度量被测试软件的性能。设计Jmeter的初衷是测试Web应用,后来又扩充了其它的功能。Jmeter可以完成针对静态资源和动态资源(讹误女监, Servlets, Perl脚本, Java对象, 数据查询s, FTP服务等)的性能测试。。 Jmeter可以模拟大量的服务器负载、网络负载、软件对象负载,通过不同的加载类型全面测试软件的性能。Jmeter提供图形化的性能分析。
JUNIT(CppUnit):JUnit是一个开源的java测试框架,它是Xuint测试体系架构的一种实现。在JUnit单元测试框架的设计时,设定了三个总体目标,第一个是简化测试的编写,这种简化包括测试框架的学习和实际测试单元的编写;第二个是使测试单元保持持久性;第三个则是可以利用既有的测试来编写相关的测试。
|
|