软件考试试题 联系客服

发布时间 : 星期四 文章软件考试试题更新完毕开始阅读7dbe47e64b35eefdc9d33337

软件体系:

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

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

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

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

设计分为概要设计和详细设计 概要设计:界面元素设计(摆放位置,类型,出错提示) 详细设计:具体逻辑,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:(测试驱动开发)开发功能代码之前,先编写测试代码,开发根据测试

用例进行开发。

软件测试风险:1.软件测试中的软件风险分析是根据预测软件将出现的风险,制定软件测试计划并排列优先等级,风险分析是对软件中潜在的问题进行识别、评估和评价的过程。

2.风险也包括进度风险、质量风险、人员风险、变更风险、成本风险等。

软件测试方法:

功能测试:根据产品特性、操作描述和用户方案,测试一个产品的特性和可操作行为以确

定它们满足设计需求。 性能测试:产品满足需求提及的性能级别和承受压力的能力。 负载、压力、并发 安全性测试全性和访问控制测试是安全性测试的两个重要方面。

兼容性测试:浏览器(IE、Firefox、Chrome、Safaris)分辨率、操作系统、手机APP 可靠性测试:指产品在规定的一段时间和条件下,可维持其性能水平能力的有关的一组属性。 可靠性测试: 易用性测试:

安装/卸载测试:确保软件在正常和异常情况下的正确安装和卸载。

测试规划

测试规划包含测试需求分析、测试计划、测试方案

测试需求的特征:1.指定的测试需求项必须是可核实的。即:它们必须有一个可观察、可预测的结果,无法核实的需求不是测试需求。2.测试需求应指明满足需求的正常前置条件,同时也要指明不满足需求时的出错条件。 3.测试需求不涉及具体的测试数据,测试数据设计师测试设计环节应解决内容。

测试需求分析过程:需求采集、测试需求分析、测试需求评审

1.测试需求采集的过程是将软件开发需求中的那些具有可测试性的需求或特性提取出来,形成原始测试需求。 可测试性是指这些提取的需求或特性必须存在一个可以明确预知的结果,可以用某种方法对这个明确的结果进行判断、验证是否符合文档要求。 测试需求分析:测试要点是对原始测试需求表每一条开发需求的细化和分解诶,形成的可测试的分层描述的软件需求。