软件测试基本知识

  • 格式:docx
  • 大小:82.73 KB
  • 文档页数:21

软件测试基本知识

第一章软件工程及UML

笔试题

1.【基础题】UML:Unified Modeling Language它是一种用于描述、构造软件系统以及商业

建模的语言。简单的理解就是它可以以一种直观的方式表示出一个系统的各项内容。

2.【基础题】软件开发模型有哪些?

答:瀑布模型,快速原型模型,增量模型,螺旋模型。

3.【基础题】软件质量因素有哪些?

答:正确性、精确性、可靠性、容错性、性能、效率、易用性、可理解性、简洁性、可复用性、可扩充性、兼容性等等。

4.【基础题】经常采用的软件质量检查措施有哪些?

答:

1)事先把检查的主要内容制成一张表,使检查活动集中在主要问题上

2)只评审工作,不评审开发者

3)建立一个议事日程并遵循它

4)不要花太多的时间争论和辩驳

5)说清楚问题所在,但不要企图当场解决所有问题

6)对检查人员进行适当的培训

第二章软件测试基础

笔试题

1.【基础题】软件有哪些分类?

答: 2.【基础题】什么是软件测试?

答:使用人工或自动手段,运行或检查某个系统的过程。其目的在于检查它是否满足规定的需求或弄清预期结果与实际结果之间的差别。

3.【基础题】什么是Bug?

答:软件的Bug指的是软件中(包括程序和文档)不符合用户需求的问题。

常见的软件Bug分为以下三类:

1)没有实现的功能

2)完成了用户需求的功能,但是运行时会出现一些功能或性能上的问题

3)实现了用户不需要的多余的功能

4.【中等题】SQA与测试的区别?

答:

1)测试是在发现问题,SQA是在预防问题

2)测试时Bug已经存在了,而SQA则需要将Bug扼杀在出现之前

3)测试作为软件生命周期的一部分,其过程也要受到SQA监督

5.【中等题】CMM:Capability Maturity Model,即“能力成熟度模型”。

6.【提高题】CMM等级如何划分并简要说明?

答:第一级:初始级 在初始级,企业一般不具备稳定的软件开发与维护的环境。常常在遇到问题的时候,就放弃原定的计划而只专注于编程与测试。

第二级:可重复级

在这一级,建立了管理软件项目的政策以及为贯彻执行这些政策而定的措施。

基于过往的项目的经验来计划与管理新的项目。

第三级:定义级

在这一级,有关软件工程与管理工程的一个特定的、面对整个企业的软件开发与维护的过程的文件将被制订出来。同时,这些过程是集成到一个协调的

整体。这就称为企业的标准软件过程。

第四级:定量管理级

在这一级,企业对产品与过程建立起定量的质量目标,同时在过程中加入规定得很清楚的连续的度量。作为企业的度量方案,要对所有项目的重要的过

程活动进行生产率和质量的度量。软件产品因此具有可预期的高质量。

第五级:优化级

在这个等级,整个企业将会把重点放在对过程进行不断的优化。企业会采取主动去找出过程的弱点与长处,以达到预防缺陷的目标。同时,分析有关过

程的有效性的资料,作出对新技术的成本与收益的分析,以及提出对过程进

行修改的建议。

7.【基础题】测试工作的基本原则?

答:

所有的软件测试都应追溯到用户需求

应当把“尽早地和不断地进行软件测试”作为软件测试者地座右铭

完全测试是不可能的,测试需要终止 测试无法显示软件潜在的缺陷

充分注意测试中地群集现象

程序员应避免检查自己地程序

尽量避免测试的随意性

8.【中等题】测试工具分类及常用测试工具?

答:功能测试工具— QTP

性能测试工具— LoadRunner

测试管理工具— TestDirector

白盒测试工具— Nunit,Junit,C++Test,JTest,BoundsChecker,Logiscope

第三章缺陷管理

笔试题

1.【基础题】缺陷的严重等级划分与描述?

答:

严重:系统崩溃、数据丢失、数据毁坏

较严重:操作性错误、错误结果、遗漏功能

一般:小问题、错别字、UI布局、罕见故障

建议:不影响使用的瑕疵或更好的实现

2.【基础题】缺陷的优先级别划分与描述?

答:

最高优先级:立即修复,停止进一步测试

次高优先级:在产品发布之前必须修复

中等优先级:如果时间允许应该修复

最低优先级:可能会修复,但是也能发布

3.【中等题】缺陷的严重等级和优先级别之间的关系?

答:

一般地,严重等级高的软件缺陷具有较高的优先级。严重等级高说明缺陷对软件造成的质量危害性大,需要优先处理,而严重等级低的缺陷可能只是软件不完美,可以稍

后处理。 严重等级高优先级不一定高。这有两种情况:一种是如果某个严重的软件缺陷只在非常极端的条件下产生,则没必要马上解决;还有一种情况是,如果修正一个软件缺陷

需要修改软件的整体架构,可能会产生更多潜在的缺陷,而且软件由于市场压力必须

尽快发布,那么即使缺陷严重等级很高,是否要修复还需要全盘考虑。

严重等级低优先级不一定低。比如软件名称或公司名称拼写错误,虽然属于界面错误,严重等级不高,但是关系到软件和公司的市场形象,必须尽快修正。

由此可见,缺陷严重级别和优先级之间没有必然的联系。实际操作时要根据具体情况来判

断缺陷严重级别和优先级。

4.【中等题】缺陷的一般处理流程?

答:

第四章测试方法

笔试题

1.【基础题】黑盒测试方法有哪些?

答:等价类划分法,边界值分析法,因果图法,判定表驱动法,决策表法,错误推测法,正交试验法,功能图法,场景法。

2.【基础题】简述黑盒测试的综合策略?

答:

首先应用场景法画出被侧软件的总体业务流程。 然后针对某个具体页面或模块进行等价类划分,包括输入条件和输出条件的等价划分,将无限测试变成有效测试,这是减少工作量和提高测试效率最有效的方法。

在任何情况下都必须使用边界值分析方法。经验表明,用这种方法设计出的测试用例发现程序错误的能力最强。

可以用错误推测法追加一些测试用例,这需要依靠测试工程师的智慧和经验。

对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度。如果没有达到要求的覆盖标准,应当再补充足够的测试用例。

如果程序的功能说明中含有输入条件的组合情况,则一开始就可选用因果图法和判定表驱动法。

对于参数配置类的软件,要用正交试验法选择较少的组合方式达到最佳效果。

功能图法也是很好的测试用例设计方法,我们可以通过不同时期条件的有效性设计不同的测试数据。

3.【基础题】等价类划分法中等价类分为有效等价类和无效等价类

4.【基础题】场景法中流程分为基本流和备选流。

5.【基础题】因果图法中基本状态有恒等非或与,约束条件有 E(互斥) I(包含)

O(唯一) R(要求) M(屏蔽)

第五章测试策略

笔试题

1.【基础题】常见的测试策略有哪些?

答:

界面测试

功能测试

易用性测试

安装卸载测试

兼容性测试

数据库测试 可靠性测试

安全性测试

文档测试

2.【基础题】Web应用测试的功能测试主要测试哪几个方面?

答:

链接测试

表单测试

Cookies测试

设计语言测试

数据库测试

3.【基础题】Web应用测试的性能测试主要测试哪几个方面?

答:

连接速度测试

压力测试

负载测试

4.【基础题】Web应用系统客户端兼容性测试主要测试哪几个方面?

答:

平台测试

浏览器测试

5.【提高题】Web应用系统的安全性测试区域主要有哪些?

答:

现在的Web应用系统基本采用先注册,后登录的方式。因此,必须测试有效和无效的用户名和密码,要注意到是否大小写敏感,可以试多少次的限制,是否可以不登录而

直接浏览某个页面等

Web应用系统是否有超时的限制,也就是说,用户登录后在一定时间内(例如15分钟)没有点击任何页面,是否需要重新登录才能正常使用

为了保证Web应用系统的安全性,日志文件是至关重要的。需要测试相关信息是否写进了日志文件、是否可追踪

当使用了安全套接字时,还要测试加密是否正确,检查信息的完整性

服务器端的脚本常常构成安全漏洞,这些漏洞又常常被黑客利用。所以,还要测试没有经过授权,就不能在服务器端放置和编辑脚本的问题

6.【中等题】数据库测试包括哪些方面?

答:

数据库容量测试,包含大容量测试和大记录量测试

数据完整性测试,包括主键,外键,数据类型,长度,索引等合理性的测试

7.【中等题】兼容性测试包括哪些方面?

答:

硬件兼容性,包括CPU,内存,硬盘,打印机等测试

软件兼容性,包括操作系统,浏览器,数据库,以及其他软件等兼容性测试

8.【基础题】界面测试包括哪些方面?

答:

整体界面测试,包括易用性,规范性,合理性,美观与协调,一致性

界面元素测试,包括窗口,菜单,图标,鼠标,文字,辅助系统等

第六章测试分类

笔试题

1.【基础题】分别解释什么是单元测试、集成测试、系统测试、验收测试以及它们之间的关

系?

答:

单元测试中,单元是认为规定的最小的被测功能模块,其具体含义需要根据实际情况来判定。如:在C语言中单元一般指一个函数;在Java中单元一般指一个类;在图形

化软件中单元也可以指一个窗口或一个菜单。单元测试的依据主要有两个:一是源程

序本身,包括代码和注释;还有一个是项目的《详细设计》文档。

集成测试是单元测试的下一个阶段,是指将通过测试的单元模块组装成系统或子系统,再进行测试。重点测试不同模块的接口部分,检查各个单元模块结合到一起能否协同

配合,正常运行。集成测试一般由白盒测试工程师或开发人员进行。集成测试应该在

单元测试之后进行。但实际项目中,如果等到所有单元测试都完成再进行集成测试则

效率太低,所以往往单元测试和集成测试同步进行。也即是:在单元测试中先测试几

个单元的自身功能,然后再集成测试一下这几个单元的接口(即参数传递)。集成测试

的依据是单元测试的模块以及《概要设计》文档。

集成测试之后,就进行系统测试。系统测试是为了验证和确认系统是否达到其原始目标,而对集成的硬件和软件系统进行的测试。系统测试是在真实或模拟系统运行的环

境下,检查完整的程序系统是否能和系统(包括硬件、外设、网络和系统平台、支持

平台等)正确配置、连接,并满足用户需求等。系统测试将整个软件系统看做一个整

体进行测试,包括对功能、性能,以及软件所运行的软硬件环境进行测试。主要依据

是《系统需求规格说明书》文档。

验收测试是指按照项目任务书或合同、供需双方约定的验收依据文档进行的对整个系统的测试与评审,用户决定是接收或拒收系统。验收测试在系统测试后期进行,以用

户测试为主,或者有测试人员等质量保障人员共同参与的测试。