软件评测师基础知识辅导+试题.doc
- 文档编号:896797
- 上传时间:2023-04-30
- 格式:DOC
- 页数:17
- 大小:303KB
软件评测师基础知识辅导+试题.doc
《软件评测师基础知识辅导+试题.doc》由会员分享,可在线阅读,更多相关《软件评测师基础知识辅导+试题.doc(17页珍藏版)》请在冰点文库上搜索。
上学吧()
2011年软考软件测评师基础知识辅导
(1)
软件评测基础知识
软件测试基本概念
软件质量与软件测试:
软件测试是软件质量保证工作的一个重要环节。
软件测试和软件质量保证是软件质量工程的两个不同层面的工作。
软件测试只是软件质量保证工作中的一个重要环节。
质量保证(QA)的工作是通过预防、检查与改进来保证软件的质量,它所关注的是软件质量的检查和测量。
软件测试所关心的不是过程的活动,而是对过程的产物以及开发出的软件进行剖析。
软件测试定义:
软件测试就是在软件投入运行前对软件需求分析、软件设计规格说明和软件编码进行的查错(包括代码执行活动与人工活动)。
软件测试是为了发现错误而执行程序的过程。
软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序的错误。
是在软件投入运行前,对软件需求分析、软件设计规格说明和软件编码的最终复审,是软件质量保证的关键步骤。
软件测试目的:
(1)测试是一个为了寻找错误而运行程序的过程;
(2)一个好的测试用例是指很可能找到迄今为止未发现的错误的用例;(3)一个成功的测试是指揭示了迄今为止尚未发现的错误的测试。
软件测试的目标是能够以耗费最少时间与最小工作量找出软件系统中潜在的各种错误与缺陷。
测试只能证明程序中错误的存在,但不能证明程序中没有错误。
软件测试原则:
(1)尽早地并不断地进行软件测试;
(2)程序员或程序设计机构应避免测试自己设计的程序;(3)测试前应当设定合理的测试用例;(4)测试用例的设计不仅要有合法的输入数据,还要有非法的输入数据;(5)在对程序修改之后要进行回归测试;(6)充分注意测试中的群集现象;(7)妥善保留测试计划、全部测试用例、出错统计和最终分析报告,并把它们作为软件的组成部分之一,为软件的维护提供方便;(8)应当对每一个测试结果做全面检查;(9)严格执行测试计划,排除测试的随意性。
软件测试对象:
软件的测试不仅仅是程序的测试,软件的测试应贯穿于整个软件生命同期中。
在软件定义阶段产生的可行性报告、项目实施计划、软件需求说明书或系统功能说明书,在软件开发阶段产生的概要测试说明书、详细设计说明书,以及源程序等都是软件测试的对象。
软件测试过程模型:
V模型、W模型、H模型。
软件测试模型的使用:
在实际软件测试的实施过程中,应灵活地运用各种模型的优点,通常可以在W模型的框架下,运用H模型的思想进行独立的测试。
当有变更发生时,按X模型和前置模型的思想进行处理。
同时,将测试和开发紧密结合,寻找恰当的就绪点开始测试,并反复进行迭代测试,以达到按期完成预定的目标。
软件问题分类:
软件错误、软件缺陷、软件故障、软件失效。
软件测试类型:
按开发阶段分:
单元测试、集成测试、确认测试(有效性测试)、系统测试
确认测试、验收测试
按测试实施组织分:
开发方测试(验证测试或alpha测试)、用户测试(beta)、第三方测试(独立测试)
按测试方式分:
动态测试、静态测试
按测试技术分:
白盒测试、黑盒测试、灰盒测试
软件测试过程:
用黑盒法设计基本的测试方案,再利用白盒法补充一些必要的测试方案。
可以用以下策略结合各种方法:
(1)在任何情况下都应该使用边界值分析的方法;
(2)必要时用等价划分法补充测试方案;
(3)必要时用错误推测法补充测试方案;
(4)如果在程序的功能说明中含有输入条件的组合,最好在一开始就用因果图法,然后再按以上
(1)、
(2)、(3)步进行。
(5)对照程序逻辑,检查已设计出的设计方案。
可以根据对程序可靠性的要求采用不同的逻辑覆盖标准,如果现有测试方案的逻辑覆盖程度没有达到要求的覆盖标准,则应再补充一些测试方案。
单元测试主要是对模块的5个基本特性进行测试和评价:
(1)模块接口;
(2)局部数据结构;(3)重要的执行路径;(4)错误处理;(5)边界测试。
在集成测试时,要考虑的问题有:
数据经过接口是否会丢失;一个模块对另一模块是否造成不应有的影响;几个子功能组合起来能否实现主功能;误差不断积累是否达到不可接受的程度;全局数据结构是否有问题。
确认测试又称为有效性测试、合格测试或验收测试。
确认测试主要由使用用户参加测试,检验软件规格说明的技术标准的符合程度,是保证软件质量的最后关键环节。
系统测试是将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际运行(使用)环境下,对计算机系统进行一系列的组装测试和确认测试。
系统测试实质上是由一系列不同测试组成的,其主要目的是充分运行系统,验证系统各个部件是否都能正常工作并完成所分配的功能。
系统测试包括:
恢复测试、安全性测试、强度测试、性能测试等。
验收测试是以用户为主,软件开发人员和质量保证人员也应参加的测试。
由用户参加设计测试用例。
使用用户界面输入测试数据,并分析测试的输出结果。
验收测试往往知系统测试完成后,项目最终交付前进行。
2011年软考软件测评师基础知识辅导
(2)
测试用例设计方法
白盒测试基本技术:
控制流图、代码覆盖率分析(CodeCoverageAnalysis)。
白盒测试方法:
从总体上可划分为静态测试和动态测试;按测试操作的实施方式划分为手工测试和借助于工具的自动化测试等。
白盒测试的静态测试方法:
代码检查法、静态结构分析法、代码质量度量法等。
白盒测试的动态测试方法:
功能确认与接口测试、逻辑覆盖分析法、基本路径测试法、性能分析、内存分析等。
动态测试通常在静态测试之后进行。
其他白盒测试方法:
域测试(DomainTesting)、程序变异测试、符号测试、数据流测试、Z路径测试。
常用的黑盒测试用例设计方法有:
等价类划分法、边值分析法、错误猜测法、因果图方法等,其他的一些测试方法还有判定表驱动法、正交试验法、功能图法,以及场景法等。
面向对象测试关注于设计合适的操作序列以测试类的状态。
测试用例设计方法的主要原则包括:
(1)对每个测试用例应当给予特殊的标识,并且还应当与测试的类有明确的联系。
(2)测试目的应当明确。
应当为每个测试用例开发一个测试步骤列表。
这个列表应包括以下一些内容:
(1)列出所要测试的对象的专门说明;
(2)列出将要作为测试结果运行的消息和操作;
(3)列出测试对象可能发生的例外情况;
(4)列出外部条件;
(5)列出为了帮助理解和实现测试所需要的附加信息。
2011年软考软件测评师基础知识辅导(3)
软件自动化测试
自动化测试可以帮助测试人员做到:
(1)提高测试执行的速度;
(2)提高运行效率;
(3)保证测试结果的准确性;
(4)连续运行测试脚本;
(5)模拟现实环境下受约束的情况。
自动化测试不能做到的是:
(1)所有测试活动都可以自动完成;
(2)减少人力成本;
(3)毫无成本的得到;
(4)降低测试的工作量。
2011年软考软件测评师基础知识辅导(4)
面向对象软件的测试
面向对象技术主要包括6个核心概念:
对象、消息、接口、类、继承、多态。
面向对象的开发模型实质是将软件测试过程分成3个阶段,即面向对象分析(OOA)、面向对象设计(OOD)和面向对象编程(OOP)。
面向对象测试的类型分为:
面向对象分析的测试(OOATest)、面向对象设计的测试(OODTest)、面向对象编程的测试(OOPTest)、面向对象单元测试(OOUnitTest)、面向对象集成测试(OOIntegrationTest)、面向对象系统测试(OOSystemTest)。
面向对象测试类型的另一种划分:
模型测试、类测试(用于代替单元测试)、交互测试(用于代替集成测试)、系统(包括子系统)测试、接收测试、部署测试。
传统测试模式与面向对象的测试模式的最主要的区别在于,面向对象的测试更关注对象而不是完成输入/输出的单一功能,这样的话测试可以在分析与设计阶段就先行介入,便得测试更好的配合软件生产过程并为之服务。
与传统测试模式相比,面向对象测试的优点在于:
更早地定义出测试用例;早期介入可以降低成本;尽早的编写系统测试用例以便于开发人员与测试人员对系统需求的理解保持一致;面向对象的测试模式更注重于软件的实质。
面向对象测试的过程:
(1)指定范围;
(2)指定深度;(3)指定已创建的被测试模块的基本要求(上一个阶段需要提供的接口);(4)以基本模型的内容为输入来设计测试用例作为评估标准;(5)生成测试覆盖度量标准;(6)试用测试清单执行静态分析,确保被测模块与基本模型的一致性;(7)执行测试用例;(8)如果覆盖不足以检测所有的活动,就需要分解测试工作,并且使用传统测试用例的方式来警醒,或者中断测试,重新测试传统测试用例。
2011年软考软件测评师基础知识辅导(5)
Web应用测试
Web应用测试类型:
功能测试、性能测试、可用性测试、兼容性测试和安全测试。
根据测试对象的不同,Web功能测试又分为链接测试、表单测试、Cookies测试、设计语言测试、数据库测试。
Web性能测试是要是确保Web应用系统达到要求的性能,一般用最大运行时间、吞吐率、响应时间描述。
Web应用在极端条件下的性能测试又分为负载测试和压力测试。
负载测试是为了测量Web系统在某一负载级别上的性能,以保证Web系统的在需求范围内能正常工作。
负载级别可以是某个时刻同时访问Web系统的用户数据,也可以是在线数据处理的数量。
压力测试是指实际破坏一个Web应用系统时测试系统的反映。
压力测试是测试系统的限制和故障恢复能力,也就是测试Web应用系统会不会崩溃,在什么情况下会崩溃。
压力测试侧重于确定系统崩溃时的用户负载量。
压力测试的区域包括表单、登录和其它信息传输页面等。
Web性能测试:
(1)连接速度测试;
(2)负载测试;(3)压力测试。
Web可用性测试:
(1)导航测试;
(2)图形测试;(3)内容测试;(4)整体界面测试。
Web兼容性测试:
(1)平台测试;
(2)浏览器测试。
Web安装性测试,就是测试Web应用防止未授权用户访问或故意破坏等情况下的能力,其重点是测试SSL(安全套接字)配置、登录模块、事务完整性等方面。
2011年软考软件测评师基础知识辅导(6)
网络测试
网络性能测试的主要依据是:
(1)双方在规划设计阶段共同认可的网络性能指标;
(2)有关的国家标准或行业标准。
网络性能测试的具体内容应以网络设计方案为准,但一般包括以下内容:
(1)网络容量测试:
最大容量和有效容量;
(2)网络响应时间测试:
检测网络系统完成一系列任务所需的时间;
(3)网络可靠性测试;
(4)网络吞吐量测试;
(5)网络配置规模测试;
(6)网络瓶颈测试;
(7)衰减测试。
网络性能测试分类:
(1)网络可接受性测试;
(2)网络升级测试;(3)网络设备评估测试。
网络性能测试的对象:
(1)路由器、集线器、交换机和网桥;
(2)网段;(3)全局网;(4)网络操作系统;(5)文件服务器;(6)工作站。
网络应用测试的主要内容:
(1)性能测试;
(2)功能测试;(3)网络应用负载测试;(4)应用系统响应时间测试;(5)应用系统升级测试。
2011年软考软件测评师基础知识辅导(7)
安全测试
软件安全性是与防止对程序和数据的非授权的故意或意外访问的能力相关的软件产品属性。
软件安全性的测试包括程序和数据安全性的测试。
安全测试内容:
用户认证机制、加密机制、安全防护策略、数据备份与恢复、防病毒系统。
安全测试策略:
(1)安全防护体系:
实体安全、平台安全、数据安全、应用安全、通信安全、运行安全、组织安全、管理安全。
(2)安全保护国家标准:
用户自主保护级、系统审计保护级、安全标记保护级、结构化保护级、安全域级保护级。
为保证实体、数据、平台、应用、运行等的安全,主要采用以下几种安全防护技术:
防火墙、入侵检测系统、漏洞扫描、安全审计、病毒防治、Web信息防篡改。
安全测试方法:
主动发现方法:
功能验证、漏洞扫描、模拟功能、侦听技术。
2011年软考软件测评师基础知识辅导(8)
兼容性测试
硬件兼容性测试:
主机兼容性测试;板卡、配件及外设的兼容性测试。
配置指标主要包括对CPU、内存和硬盘的要求。
推荐配置就保证软硬件构成的系统在正常业务的压力负载下,CPU资源占用率平均值不超过75%。
软件兼容性测试:
操作系统兼容性测试、数据库兼容性测试、中间件兼容性测试、与其他软件的兼容性测试。
数据兼容性测试:
编码体系测试、数据标准符合性测试。
新旧系统数据迁移测试:
迁移准备、迁移实施、迁移验证。
平台软件兼容性测试:
平台软件硬件、软件、数据库、文种兼容性测试。
2011年软考软件测评师基础知识辅导(9)
易用性测试
在2003年颁布的GB/T16260-2003(ISO9126-2001)《软件工程产品质量》质量模型中,提出易用性包含易理解性、易学习性和易操作性;即易用性是指在指定条件下使用时,软件产品被理解、学习、使用和吸引用户的能力。
(1)易理解性;
(2)易学习性;(3)易操作性;(4)吸引性;(5)依从性。
易用性测试包括针对应用程序的测试,同时还包括对用户手册系统文档的测试。
通常采用质量外部模型来评价易用性。
包括如下方面的测试:
(1)易理解性测试;
(2)易学性测试;(3)易操作性测试;(4)吸引性测试;(5)易用的依从性测试。
易用性测试方法有:
静态测试;动态测试;动态和静态结合测试。
软件质量模型将质量属性划分为6种特性:
功能性、可靠性、易用性、效率、维护性和可移植性。
易用性与可靠性是正相关的;易用性与安全性(功能性的子特性)的某些方面是负相关的。
安装测试的主要工作(安装的易用性):
(1)安装手册的评估;
(2)安装的自动化程度测试;(3)安装选项和设置的测试;(4)安装过程的中断测试;(5)安装顺序测试;(6)多环境安装测试;(7)安装的正确性测试;(8)修复安装测试和卸载测试。
功能易用性测试:
(1)业务符合性;
(2)功能定制性;(3)业务模块的集成度;(4)约束性;(5)交互性;(6)系统信息与错误提示。
界面整体测试指对界面的规范性、一致性、合理性等进行测试和评估。
2011年软考软件测评师基础知识辅导(10)
文档测试
国家有关计算机软件产品开发文件编制指南()****有14种文件,可分为3大类。
1.开发文件:
可行性研究报告、软件需求说明书、数据要求说明书、概要设计说明书、详细设计说明书、数据库设计说明书、模块开发卷宗。
2.用户文件:
用户手册、操作手册。
3.管理文件:
项目开发计划、测试计划、测试分析报告、开发进度月报、项目开发总结报告。
用户文档分类:
联机帮助;样例、示例和模板;包装;宣传与广告;其他。
用户文档的作用:
改善易安装性;改善软件的易学性与易用性;改善软件可靠性;降低技术支持成本。
用户文档测试方法:
技术校对;功能测试;其他辅助方式。
用户文档测试要点:
文档的读者群;文档的术语;文档的正确性;文档的完整性;文档的一致性;文档的易用性;样例与示例;文档的语言;印刷与包装质量。
用户手册、操作手册的测试:
“严格”地使用系统;“随心所欲”地使用系统;尝试文档中的每个建议和注意事项;描述的准确性;从用户角度看手册。
联机帮助的测试:
准确性、用户的查询;帮助主题的完整性;帮助的风格。
2011年软考软件测评师基础知识辅导(11)
测试项目管理
软件配置管理的作用:
通过软件配置管理,严格执行软件开发过程控制,使软件开发的各个过程阶段()置于软件配置管理控制之下,真实地记录软件生命周期内的全部过程活动,使软件开发从无形变成有形,从无法管理变成有章可循。
通过软件配置管理,严格执行软件版本控制(),做到完整保存各种历史软件,有利于验证和比较测试、联试中出现的问题;严格执行软件更改控制,严格审批更动过程。
配置管理内容:
确立基线;建立3库(开发库、受控库、产品库);出入库管理和审计;状态报告和查询。
测试管理组包括评审小组、测试小组和支持小组。
软件测试过程分成4个阶段:
单元测试、集成测试、系统测试和验收测试。
软件测试文档描述要执行的软件测试及测试的结果。
测试文件的类型:
测试计划和测试分析报告。
测试文件的重要性表现在:
(1)验证需求的正确性;
(2)检验测试资源;(3)明确任务的风险;(4)生成测试用例;(5)评价测试结果;(6)再测试;(7)决定测试的有效性。
软件工程领域要考虑的风险类型:
(1)项目风险;
(2)技术风险;(3)商业风险。
风险条目检查表:
(1)产品规模风险;
(2)商业影响风险;(3)客户相关风险;(4)过程风险;(5)技术风险;(6)开发环境风险;(7)与人员数目及经验相关的风险。
2011年软件水平考试软件测试经验交流
软件测试经验交流软件测试
本文主要目的是加强项目组和测试中心之间的相互了解,分享一些测试人员在工作中的经验和成果,从而使项目组和测试中心的配合更加默契,共同把握住产品的质量要素。
一、测试的目的和原则
1、测试概念的范畴
广义上讲,测试是指软件产品生存周期内所有的检查、评审和确认活动。
如:
设计评审、系统测试。
狭义上讲,测试是对软件产品质量的检验和评价。
它一方面检查软件产品质量中存在的质量问题,同
时对产品质量进行客观的评价。
2、测试的目的
简单地说,就是替用户受过,测试的最终目的是确保最终交给用户的产品的功能符合用户的需求,把
尽可能多的问题在产品交给用户之前发现并改正。
具体地讲,测试一般要达到下列目标:
1、确保产品完成了它所承诺或公布的功能,并且所有用户可以访问到的功能都有明确的书面说
明------在某种意义上与ISO9001是同一种思想。
产品缺少明确的书面文档,是厂商一种短期行为的表现,也是一种不负责任的表现。
所谓短期行为,是指缺少明确的书面文档既不利于产品最后的顺利交付,容易与用户发生矛盾,影响厂商的声誉和将来与用户的合作关系;同时也不利于产品的后期维护,也使厂商支出超额的用户培训和技术支持费用。
从长期利益看,这是很不划算的。
我有个感觉,接触过的软件产品,很少有向方正这样大大的产品、薄薄的文档。
当然,书面文档的编写和维护工作对于使用快速原型法(RAD)开发的项目是最为重要的、最为困难,也是最容易被忽略的。
最后,书面文档的不健全甚至不正确,也是测试工作中遇到的最大和最头痛的问题,它的直接后果是测试效率低下、测试目标不明确、测试范围不充分,从而导致最终测试的作用不能充分发挥、测试效果不理想。
2、确保产品满足性能和效率的要求
使用起来系统运行效率低(性能低)、或用户界面不友好、用户操作不方便(效率低)的产品不能说是一个有竞争力的产品。
用户最关心的不是你的技术有多先进、功能有多强大,而是他能从这些技术、这些功能中得到多少好处。
也就是说,用户关心的是他能从中取出多少,而不是你已经放进去多少。
3、确保产品是健壮的和适应用户环境的
2010年下半年软考软件评测师考试试题分析
2010年软件评测师考试仍与以往一样,公共部分的试题与软件设计师考试有不少的重复,但分值分布变化较大,专业内容综合性强,考试难度比上次大。
下面将对具体情况进行分析。
1、软件工程与软件测试基础知识试题
2010年11月考试软件工程与软件测试基础知识试题考查的知识点分布如表1所示。
在本次考试中,上午试题具有以下几个突出特点:
(1)软件评测方面所占分值较以往提升很大,占到了总分的60%。
(2)取消了操作系统、计算机网络和知识产权的考查。
(3)多媒体与信息化的内容依然没有出现,该考点很可能已经取消。
(4)专业性强,综合性高是本次考试突出特点,导致本次考试难度迅速上升。
(5)很多试题都是模拟试题换个说法而已。
2、软件测试应用技术试题
试题一
本题考的是黑盒测试的场景法,该考点在前5次考试中已出现过2次。
场景法是由Rational公司提出的,场景法可以比较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,同时使测试用例更容易理解和执行。
在场景法中,经过用例的每条路径都用基本流和备选流来表示,然后用场景来覆盖这些基本流与备选流,最终根据场景来设计用例。
题目共有2问:
第1问是用场景法进行场景的设计。
第2问是测试用例的设计。
此题较容易。
试题二
本题是一道综合题,涉及到软件测试原则、功能测试、缺陷管理和软件测试分类。
试题共4个问题。
问题一考查软件测试原则--应当把“尽早地测试和不断地进行软件测试”作为软件测试者的座佑铭。
问题二考查功能测试。
问题三考查软件缺陷管理。
要从错误管理流程和管理原则两方面来回答。
问题四考查的是软件测试的α测试和β测试。
试题三
本题是一个白盒测试的试题,考查的点有:
判定覆盖、控制流图、环路复杂度V(G)、基本路径覆盖。
这是评测师常考知识点。
在学习该知识点时,最好的练习方式就是:
针对同一段程序,从一组测试用例中,找出能达到某一种覆盖的最小用例组,这样能快速让考生了解到各种覆盖之间的差异,到考试时也不混淆概念,本题共3问:
第1问要求找出程序中的判断语句。
与以往不同的是,程序不是直接用if或case语句给出判断子句,而是在for循环中隐藏了一个逻辑判断。
第2问是为判定覆盖设计所需的逻辑条件。
第3问是设计满足路径测试覆盖的用例集。
实现步骤为:
首先画出控制流图,计算环路复杂度V(G),即满足基本路径覆盖的基本路径的数目,找出相应的基本路径,最后根据每一条路径设计相应的用例。
试题四
本题是通过VPN展开对安全测试的考核。
安全测试已经连续考了2次,它是下午考试中的一大重点。
解答本题考生首先要清楚VPN(VirtualPrivateNetwork虚拟专用网络)的含义,提供了哪些方面的功能(防火墙功能、认证、加密、隧道化),采用了哪些安全保证技术;然后根据题目说明回答问题一网络拓扑结构图中的网络设备,属于安全测试中访问控制问题,该问与2008年上半年真题下午题试题五问题一基本一致;问题2通信加密的目的与测试方法是属于安全测试方面需要记忆的内容;问题三考查安全测试中的用户管理和访问控制。
试题五
本题为负载测试方面试题,该方向的试题几乎每年都会考到,是一个非常重要的知识点。
对该知识点的考查主要有:
基本概念的解释、案例分析(即:
给出一组测试数据(或监控数据),然后要求考生根据这些数据进行分析,某种状态下,系统是否存在瓶颈;在要求达到一定性能指标的情况下,系统最大的并发用户是多少;系统的吞吐量如何等),其实这类问题是一通百通。
这一点,因为平时相关的练习题比较多,也有许多学员一开始不会做,或是有很多疑问,但真正弄明白一道题以后,再来做其它题,都非常容易了。
第1-2问是概念性的题,负载测试与压力测试在模
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 评测 基础知识 辅导 试题