软件考试试题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件体系:

软件的定义:软件是计算机程序、方法、规则、相关的文档、以及在计算机上运行时所必须的数据的总和。(程序+数据+文档)

软件工程师应用计算机科学、数学计管理学等原理开发软件的工程,它借鉴传统工程的原则、方法,以提高软件质量,降低成本为目的。

软件的生命周期:需求、设计、编码、测试、维护、升级、废弃(在很多公司,需求阶段还包含,项目立项和可行性研究分析)

需求阶段主要做:定义(功能,非公能,环境,语言,时间)

设计分为概要设计和详细设计概要设计:界面元素设计(摆放位置,类型,出错提示)详细设计:具体逻辑,DB,类和方法

软件测试流程:需求分析、测试计划、测试方案、测试用例、测试执行、测试报告

测试基础

软件质量:软件质量就是“软件与明确的和隐含的定义的需求相一致的程度”。

软件质量考虑因素:功能,性能,安全性,可靠性,兼容性,易用性,安装/卸载,可维护性,可移植性

QC :质量控制保证产品质量符合规定

QC :质量保证建立体系并确保体系按要求运作,已提供内外部的信任

CMMI Capability Maturity Model Integartion (能力成熟度模型综合)包含以下几个方面:System engineering

Software engineering

Integrated Product and Process Development

Supplier Sourcing

1.该模型提供了一套可供公众使用的准则:这些准则描述那些成功的实施了过程改进的组织的特性

2.该模型用“软件能力成熟度”来衡量这种软件综合能力

软件测试概念:在规定的条件下对程序进行操作,以期发现错误,对软件质量进行评估。目的:发现Bug 、提高质量、降低成本

软件测试原则:1.所有的软件测试都应追溯到用户需求

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

3.完全测试是不可能的,测试需求终止

4.测试无法显示软件潜在的缺陷

5.充分注意测试中的群集现象

6.开发工程师应避免测试自己的程序

7.尽量避免测试的随意性

软件测试分类:按阶段划分、按是否运行程序划分、按是否查看代码划分、其它划分

按阶段划分:单元测试、集成测试、确认测试、系统测试、验收测试

单元测试:单元测试又称为模块测试,针对程序的测试

内容为:模块接口测试,局部数据结构测试、路径测试、错误处理测试、边界测试

集成测试:集成测试又称为程序接口测试,是针对程序接口的测试

内容为:1.再把各个模块连接起来的时候,穿越模块接口的数据是否会丢失2.一个模块的功能是否会对另一个模块的功能产生不利影响

3.各个子模块组合起来,是否可以达到预期要求的父功能

4.全局数据接口是否有问题

5.各个模块的误差累积起来是否会放大,从而达到不能接受的程度

系统测试:将已经确认的软件、硬件、外设、网络等其他元素结合在一起,进行系统

的各种组装测试和确认测试。

2.系统测试是针对整个产品系统进行的测试,目的是严重系统是否满足了需求规格的

定义,找出与需求规格不符合或与之矛盾的地方,从而提出更加完善的方案。

3.对象不仅仅包含需要测试的软件,还要包含软件所依赖的硬件,外设甚至某些数据,某些支持软件及其接口

系统测试范围:功能、性能、界面、强度、容量、安全性、配置、安装、卸载、数据

库等、

验收测试:Alpha:Alpha测试是在用户组织模拟软件系统的运行环境下的一种验收测试,由用户或者第三方测试公司进行的测试,模拟各类用户行为对即将面试的软件产

品进行测试,试图发现并修正错误。

Beta:Betaceshi是用户公司组织各方面的典型终端用户在日常工作中实际使用Beta

版本,并要求用户报告异常情况,提出批评意见。

Alpha和Beta的区别:两者的主要区别是测试场所不同

Alpha测试是将用户请到开发方的场所来测试,Alpha测试的环境是受开发方控制的,

用户数量相对较少,时间比较集中。

Beta测试是指在一个或多个用户的场所进行的测试。Beta测试的环境不受开发方的控制,谁也不知道用户如何操作软件,用户数量相对较多,时间不集中。

Alpha测试先与Beta测试执行

按是否运行程序划分:静态测试,动态测试

静态测试:不运行被测试的软件,只是静态的检查代码,界面或者文档。

动态测试:运行被测试的软件,输入相应的测试数据,检查实际的输出结果是否和预

期结果相一致的过程。

按是否查看代码:黑盒测试、白盒测试、灰盒测试

1.黑盒测试:又称数据驱动测试,把软件看成一个黑盒子,不管内部逻辑和内部特性,

指依据规格说明书检查程序的功能是否符合功能说明

2.白盒测试:又称为结构测试,着重与内购机构和算法,不关心功能和性能指标。

3.灰盒测试:介于白盒和黑盒测试之间,基于程序运行时刻的外部表现同时又结合程

序内部接口逻辑来设计用例,执行程序并采集程序路径执行信息和外部用户接口结果的测试技术。

其它划分:

1.回归测试:修改了旧代码后,重新进行测试已确认修改没有引入新的错误或导

致其他代码产生错误,在整个软件开发过程中占很大的工作量比重,软件开发

的各个阶段都会进行多次回归测试。

2.冒烟测试:(BVT测试(Build Verification Test)每一个新编译需要正式

测试该版本时,先进行基本功能的测试,确定基本功能正常后在开展进一步的

测试工作。

3.随机测试:(又名猴子测试)随机选择测试数据做测试,主要根据经验进行功

能和性能等复查。

4.敏捷测试:(敏捷开发引发)敏捷最大的特点是高度迭代,有周期性,并且可

以及时的、持续地相应客户的频繁反馈。

5.TDD:(测试驱动开发)开发功能代码之前,先编写测试代码,开发根据测试

用例进行开发。

相关文档
最新文档