您的位置:首页 > 其它

软件测试经典习

2013-04-27 18:53 106 查看
01.
请试述某个测试工具的工作原理,并以一个具体的工作中的例子描述该工具是如何在实际工作中应用的。

02.
请描述测试用例评审的过程和评审的内容。
1:评审的过程

A:开始前做好如下准备

1、确定评审的原因、时机、评审人员、内容、结束标准

2、提前至少一天将需要评审的内容以邮件的形式发送给评审会议相关人员。并注明详审时间、地点及偿参与人员等。

3、提醒评审会议相关人员至少简读一遍评审内容,并记录相关的疑问。

8、
会议主持者应在会议前整理相关疑问,以便在会议上提出。

B:开始评审

1、
召开评审会议。与会者在设计人员讲解之后给出意见和建议,同时进行详细的评审记录。

2、
通用邮件与相关人员沟通

3、
通用IM工具直接与相关人员交流

4、根据评审内容进行评审

2:评审内容

1、
用例设计的结构安排是否清晰、合理,是否利于高效对需求进行覆盖。

2、
优先极安排是否合理。

3、
是否覆盖测试需求上的所有功能点。

4、
用例是否具有很好可执行性。例如用例的前提条件、执行步骤、输入数据和期待结果是否清晰、正确;期待结果是否有明显的验证方法。

5、
是否已经删除了冗余的用例。

6、
是否包含充分的负面测试用例。

7、
是否从用户层面来设计用户使用场景和使用流程的测试用例。

8、
是否简洁,复用性强。
9、是否易读、易用、易维护。

03.
什么是等价类的划分?请举例说明。

04.
什么是边界值测试法?请举例说明。

05.
假设有一个程序读入3个整数,分别解释为三角形的各边,并据此打印信息,说明三角形是普通的,等腰的或等边的。设计一组有效的测试用例。

06.
Explain why testing can only detect the presence of errors, not their absence.
因为要检测错误不存在必须用穷举法,而穷举测试只对一些小型简单的程序适用,而对一些大型或稍微复杂的程序都不可能实现。

07.
What is regression testing? Explain how the use of automated tests and a testing framework such JUnit simplifies regression testing.
是指软件系统被修改或扩充(如系统功能增强或升级)后重新进行的测试,是为了保证对软件所做的修改没有引入新的错误而重新进行的测试。
在自动化测试框架中,只要以某种方式将测试用例组织成一个测试包,然后就可自动运行它们了。即实现人员或测试人员只需简单地按一下按钮就可以完成所有的测试工作,而且输出清晰的测试结果,而且自动化测试框架支持:(1)向测试包添加新的实例(2)测试包间的随意组合。这样,回归测试过程中大量重复的内容就可以得到简化。

08.
测试计划工作的目的是什么?测试计划工作的内容都包括什么?其中哪些是最重要的?
测试计划的目的是:有助于测试范围的确定、测试策略的优化、测试风险的规避。
在测试计划活动中,首先要确认测试目标、范围和需求,然后制定测试策略,并对测试任务、时间、资源、成本和风险等进行估算或评估。测试计划和测试详细规格、测试用例之间是战略和战术的关系,测试计划主要是从宏观上规划测试活动的范围、方法和资源配置,而测试详细规格、测试用例是完成测试任务的具体战术。所以其中最重要的是测试策略和测试方法(最好是能先评审)

09.
请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。
黑盒测试:在完全不考虑程序内部结构和内部特性的情况下来考察数据的输入、条件限制和数据输出,进而完成测试。黑盒测试指根据用户的需求各已经定义好的规格,针对程序接口和用户界面进行测试,检验程序是否能适当地接收输入数据而产生正确的输出信息,并保持名部信息(如数据库或文件)的完整性。
白盒测试:也称结构测试或逻辑驱动测试,就是清楚软件产品内部的逻辑结构和工作过程,针对程序语句、路径、变量状态等进行了测试。如,检验程序的各个分支条件是否得到满足,检查程序是否按照事先预定的路径执行。白盒测试主要方法:逻辑覆盖、分支覆盖、条件组合覆盖、基本路径测试等。
单元测试的目的是把已实现的构件作为个体单元进行测试,主要有以下两类单元测试:(1)规格说明测试或黑盒测试,用于验证单元外观上可观察的行为。(2)结构测试或白盒测试,用于验证单元的内部实现。
集成测试:将已分别通过测试的单元按设计要求组合起来再进行的测试,以检查员这些单元之间的接口是否存在问题,集成测试一般是一个逐渐加入单元进行测试的持续过程,直至所有单元被组合在一起,成功地构成完整的软件系统,从而完成任务集成测试的使命。
系统测试:充分运行或模拟运行软件系统,以验证系统是否满足产品的质量需求,特别是非功能性的质量需求。系统测试主要指:压力测试、容量测试、性能测试、安全性测试和可靠性测试等。
验收测试是在软件产品完成了功能测试和系统测试之后,产品发之前进行的测试,它是技术测试的最后一个阶段。的目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。验收测试是向未来的用户表明系统能够像预定要求那样工作。

10.
比较负载测试,容量测试和强度测试的区别。
负载测试:对系统不断增加压力或增加一定压力下的持续时间,直到系统的一些性能指标达到极限,例如,响应时间超过预定指标或某种资源已经达到饱各状态。这种测试可以找到系统的处理极限,为系统调优提供依据。

强度测试:他在系统资源特别低的情况下,软件系统运行情况,目的找到系统在哪里失效或如何失效的地方。

容量测试:预先分析出反映软件系统应用特征的某项指标的极限值(如最大并发用记数、数据库记录数),系统在其极限状态下没有出现任何故障或还能保持主要功能正常进行。容量测试还将确定被测对象在给定时间内能够持续处理的最大负载或工作量。

11.
Explain what's wrong with this specification statement: When the user selects the Compact Memory option, the program will compress the mailing list data as small as possible using a Huffman-sparse-matrix
approach.
“与……同样大小”没有量化、不精确。说明书应该项讲明压缩究竟应达到何种程度。另外,“程序将邮件列表数据压缩可能与Huffman解析矩阵方法同样大小的尺寸”在算法级上解释了特性如何工作,用户不关心压缩怎样工作,这也不属于要求的文档内容。

12.
软件测试结束的标准是什么?
(1)、已执行完了所有测试用例。

(2)、覆盖率达到标准,缺陷率达到标准,其他指标达到质量标准

(3)、项目组或高层要求结束测试工作

(4)、由于时间紧迫,客户要求结束测试

(5)、系统已经满足了指定的功能和非功能性的需求了

(6)、如果验证BUG已被修复,那么标志着回归测试已结束。

13.
Give three situations where the testing of all independent paths through a program may not detect program errors.
第一:如果程序本身违反了设计规范,独立路径测试无法检测出这类错误。
第二:如果程序遗漏了路径,独立路径无法检测。
第三:独立路径测试发现不了一些与数据相关的错误

14.
在分别测试Winform的C/S结构与测试WEB结构的软件时,应该采取什么样的方法分别测试?他们存在什么样的区别与联系?
Winform的C/S结构与WEB结构软件都是数据访问驱动的应用。C/S客户端通常允许用户界面发送输入数据,接收输出数据,与后端进行交互。Winform的C/S结构软件的客户端是平台专用的,即客户端应用将针对目标平台进行开发和测试仪。因此对于Winform的C/S结构软件采用传统测试方法。
而基于WEB的客户端运行在WEB浏览器环境下。WEB浏览器解释HTML并自动将内容显示为WEB页信息。几种流行的浏览器也支持活动内容如客户端脚本、JAVA小程序、ActiveX控件、CSS、动态HTML、安全特性和其他内容。为了做到这些,浏览器厂商必须创建翻译引擎和解释器来翻译和对HTML内容进行格式化处理。在实现这些组件时,各种浏览器及其不同的版本之间又产生了不兼容问题。因些,除了传统的测试外,对WEB应用进行测试还包括以下几个主要方面:
WEB用户界面的实现、系统集成、服务器端和客户端安装、基于WEB的帮助、配置与兼容性、数据库、安全性、性能负载和强度。

15.
您所熟悉的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。
1实例:如果规定值的范围是1到99,那么得到三个等价类:合法的等价类{1,2…99};两个非法的等价类{x
| x < 1}和{x | x > 99}
3错误推测法:一种凭直觉和经验推测某些可能存在的错误,从而针对这些可能存在的错误设计测试用例的方法。如测试二分法检索子程序,可考虑如下情况:(1)表中只有1表元素;(2)表长为2n(3)表长为2n-1(4)表长为2n+1
4因果图方法
因果图是一种挑选高效测试用例以检查组合输入条件的系统方法,它是将自然语言规格说明转化为形式语言规格说明的一种严格的方法,它揭露规格说明中的不完整性和二义性。该方法主要是利用需求说明的描述找出因和果,然后再把因果转换为判定表。
5判定表法
6功能图法
用功能图形象地表示程序的功能说明,并机械地生成
功能图的测试用例。功能图模型由状态迁移图和逻辑功能模型构成。状态迁移图用于表示输入数据序列,以及相应的输出数据。在状态迁移图中,由输入数据和当前状态决定输出数据和后续状态。逻辑功能模型用于表示在状态中输入条件和输出条件之间的对应关系。逻辑功能模型只适合于描述静态说明,输出数据仅由输入数据决定上。测试用例则是由测试中经过一系列状态和在每个状态中必须靠输入/输出数据满足的一对条件组成。
7场景法:站在用户的角度上检测软件的功能,发现软件的错误。它充分得用USE-CASE图有计划、有条例、有选择性地生成测试用例,这也即是以后用户服务实际操作软件的个体流程。因此,场景法能够以最少的测试成本,来发现最多的与用户平时使用进息息相关的软件缺陷与错误。
8正交试验法:根据正交性原理,从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备了“均匀分散,整齐可比”的特点。

16.
请给出两个这样的例子,黑盒测试通过,但白盒测试却暴露问题
(1)采用黑盒测试Java
WEB应用的用户登陆模块,能够实现成功跳转,但插入数据库的字符却是乱码
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: