科目二11软件易用性测试以及_第1页
科目二11软件易用性测试以及_第2页
科目二11软件易用性测试以及_第3页
科目二11软件易用性测试以及_第4页
科目二11软件易用性测试以及_第5页
已阅读5页,还剩111页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

全国计算机技术与软件专业技术资格考试

讲师:孙老师(北风网版权所有)

-----中级职称软件评测师考试

软件安全测试软件安全测试的必要性安全测试,在充分考虑软件安全性问题的前提下进行的测试,普通的软件测试的主要目的是:确保软件不会去完成没有预先设计的功能,确保软件能够完成预先设计的功能。但是,安全测试更有针对性同时可能采用一些和普通测试不一样的测试手段,如攻击和反攻击技术。因此,实际上,安全测试实际上就是一轮多角度、全方位的攻击和反攻击,其目的就是要抢在攻击者之前尽可能多地找到软件中的漏洞.以减少软件遭到攻击的可能性。安全测试基于软件需求说明书中关于安全性的功能需求说明,测试的内容主要是:软件的安全功能实现是否与安全需求一致。通常情况下,软件的安全需求包括:数据保密和完整可用;通信过程中的身份认证、授权、访问控制;通信方的不可抵赖;隐私保护、安全管理;软件运行过程中的安全漏洞;等等。

因此,软件安全测试和一般的测试具有很大的区别。一般测试主要是确定软件的功能能否达到,如果没有达到,就进行修改,其任务具有一定的确定性。但是,安全测试主要是检查软件所达到的功能是否安全可靠,需要证明的是软件不会出现安全方面的问题,如:数据篡改;非授权访问;遭受DoS攻击;等等。软件安全性测试的过程软件的安全测试,一般根据设计阶段的威胁模型来实施。在第一章我们讲到,安全问题,应该从设计阶段就开始考虑,设计要尽可能完善。并提出了采用威胁建模的方法来在软件设计阶段加入安全因素的考量。威胁建模过程一般如下:1:在项目组中成立一个小组,该小组中的人员是项目组中对安全问题比较了解的人;2:站在安全角度,分解系统的安全需求需求;3:确定系统可能面临的威胁,将威胁进行分类,可以画出威胁树;4:选择应付威胁或者缓和威胁的方法;5:确定最终解决这些威胁的技术既然在设计阶段,就将系统可能出现的一些安全问题写在文档里面了,因此,安全性测试也应该是基于这些内容。因此,软件安全测试的过程可以分为以下几个步骤:1:基于前面设计阶段制定的威胁模型,设计测试计划。该过程一般基于威胁树,以第一章画出的针对用户口令安全问题威胁树为例,如图15-2所示:

测试计划就可以基于口令安全所可能遭受的各个攻击进行制定。

2:将安全测试的最小组件单位进行划分,并确定组件的输入格式。实际上,和传统的测试不同,威胁模型中,并不是所有的模块都会有安全问题,因此,我们只需将需要安全测试的某一部分程序取出来进行测试,将安全测试的最小组件单位进行划分。此外,每个组件都提供了接口,也就是输入,在测试阶段,测试用例需要进行输入,这就必须将每个接口的输入类型、输入格式等都列出来,便于测试用例的制定。这些输入如:Socket数据;无线数据;命令行;语音设备;串口;HTTP提交;等等。3:根据各个接口可能遇到的威胁,或者系统的潜在漏洞,对接口进行分级。在该步骤中,主要是确定系统将要受到的威胁的严重性,将比较严重的威胁进行优先的测试,这个严重性的判断,应该来源于威胁模型。可以通过很多方法对接口受到的威胁性进行分级,文献2中推荐了一种积分制方法,对各个接口可能受到的各种威胁进行积分,最后累加,优先测试那些分数排在前面的接口。4:确定输入数据,设计测试用例。每一个接口可以输入的数据都不相同,由于安全测试不同于普通的测试,因此还要更加精心地设计测试用例。有时候还要精心设计输入的数据结构,如随机数、集合等的设计,都要必须是为安全测试服务的。在测试用例的设计过程中,必须要了解,安全测试实际上是对程序进行的安全攻击,因此,不但数据本身需要精心设计,测试手段也要精心设计。如在对缓冲区溢出的测试中,必须精心设计各种输入,从不同的方面来对程序进行攻击。5:攻击应用程序,查看其效果。用设计的测试用例来攻击应用程序,使得系统处于一种受到威胁的状态,来得到输出。6:总结测试结果,提出解决方案。本过程中,将预期输出和实际输出进行比较,得出结论,写出测试报告,最后提交相应的人员,进行错误解决。以上是测试的过程,近年来,关于安全性测试,还研究出了一些成果,借计算机来进行自动的测试,这些成果主要包括以下几种:1:用形式化方法进行安全测试。该方法用用状态迁移系统描述软件的行为,将软件的功能用计算逻辑和逻辑演算来表达,通过逻辑上的推理和搜索,来发现软件中的漏洞。2:基于模型的安全功能测试。在该方法中,首先对软件的结构和功能进行建模,生成测试模型,然后利用测试模型导出测试用例。该方法的成功与否,取决于建模的准确性,对身份认证、访问控制等情况下安全测试比较适用。常用模型有:UML模型;马尔可夫链模型;等等。

3:基于输入语法进行测试。接口的输入语法,定义了软件接受的输入数据的类型、格式等。该类方法中,首先提取被测接口的输入语法,如命令行、文件、环境变量、套接字,然后根据这些语法,生成测试用例。此类测试方法比较适用于被测软件有较明确的接口语法的情况,范围较窄。4:采用随机方法进行测试。该方法又称为模糊测试,将随机的不合法数据输入到程序中,有时候能够发现一些意想不到的错误,在安全性测试中越来越受到重视。软件测试本来是软件工程中研究比较活跃的一个分支,针对安全测试的研究也收到较多学者的重视。有关一些安全测试方面的最新进展,读者可以参考相关文献。比较热门的方向包括:权限系统的自动测试;形式化方法对测试用例的表达;分布式环境下的测试;云计算环境下的测试;等等。安全审查安全审查是指对软件产品进行安全方面的人工检查,是软件质量保证的一个重要环节,主要包括:代码的安全审查;配置复查;文档的安全审查;等等。

本节针对这几个问题进行讲解。

代码的安全审查代码的审查,是审查小组人工测试源程序的过程,而代码的安全审查,则是针对威胁模型中表达的一些安全问题进行的审查。代码的安全审查,是一种非常有效的程序安全验证技术,在代码的安全审查过程中,首先要组建一个代码的安全审查小组,最好由如下人员组成:组长,应该是一个很有能力的程序员;程序的设计成员;程序的编写成员;程序的测试成员。代码安全审查的步骤如下:

小组成员先研究设计说明书,力求理解软件的设计,然后重点针对威胁模型进行讨论;由设计者介绍威胁模型中的一些细节;程序的编写者逐个模块地解释是怎样用程序代码解决威胁模型中提出的解决方案的;对照安全程序设计常见错误,分析审查程序;发现错误时,记录错误,继续审查。

配置复查软件配置,实际上是指软件需求规格说明、软件设计规格说明、源代码等的总称,配置复查实际上是软件验收测试的重要内容。配置复查的目的,需要保证如下内容:软件配置的所有成分都齐全;软件配置质量符合要求;文档与程序完全一致;具有完成软件维护所必须准备的细节;使用手册的完整性和正确性;等等。软件配置复查的过程中,必须仔细记录发现软件安全测试过程中的安全遗漏或错误,并且适当地补充和改正。

文档的安全审查文档在软件工程中非常重要。对于用户来说,软件事实上就是文档,因此,文档是影响软件质量的决定因素,有时候可以说,文档比程序代码更重要。在文档中,关于安全问题的描述不能忽视,必须进行审查。软件系统的文档可以两类:1:用户文档。用户文档主要描述系统功能和使用方法,而并不关心这些功能是怎样实现的。用户文档是用户了解系统的第一步,它应该能使用户获得对系统的准确的初步印象。用户文档至少应该包括下述5方面的内容:功能描述,说明系统的功能;安装文档,说明怎样安装这个系统,怎样对系统进行配置,使其适应特定的运行环境;使用手册,说明如何使用这个系统,这是一个比较重要的文档,用户应该可以通过这个文档学会系统的使用,有时候,需要通过丰富例子,图文并茂地表达这些问题;参考手册,详尽描述软件中提供给用户使用的所有系统设施及其使用方法,另外,参考手册中还应该解释系统可能产生的各种输出信息,如出错信息的含义;如果系统中有操作员的话,还需要提供操作员指南,指示操作员应该如何处理使用过程中出现的一些情况。用户文档可以分别设立独立的文档,也可以设置为一个大文档的各个分册,具体做法,由系统的复杂性决定。2:系统文档。系统文档指从问题可行性分析、问题定义、需求分析、系统总体设计、详细设计到测试和测试报告这样一系列工作有关的文档。系统文档描述了系统从设计设计到实现,最后到测试的过程。该部分的文档包括:可行性研究报告;需求分析说明书;总体设计说明书;详细设计说明书;测试计划;测试报告;等等。文档的安全审查,是针对软件项目中的安全问题进行的审查,此过程中,主要进行的工作是,根据威胁模型,在各个文档中审查是否进行了良好的表达。如:用户文档中是否含有和解决安全问题相关的措施,来提示用户的操作尽可能保证安全性;系统文档中是否将所有的安全问题进行了解决,并用明晰的表达方式描述出来;等等。Slide26April20233.7兼容性测试 软件兼容性测试就是要检查软件能否在不同组合的环境下正常运行,或者软件之间能否正常交互和共享信息。 软件对其运行环境的依赖程度。

1.软件兼容性测试需要解决的问题(1)被测对象需要与何种应用平台、软件兼容;(2)被测对象需要遵循何种信息交互标准或规范;(3)被测对象使用何种数据与应用平台、其他软件交互和共享信息。Slide27April2023兼容性测试的概念

2.兼容性测试常用的术语(1)向下兼容:指可以使用软件以前的版本或功能;(2)向上兼容:指可以使用软件未来的版本或功能。 3.兼容性测试的分类 (1)平台和设备兼容性测试;

(2)向下兼容性测试;

(3)交叉兼容性测试。Slide28April2023兼容性测试的概念

4.兼容性测试的环境(1)硬件环境:服务器、客户机、网络连接设备、打印机、扫描仪等;(2)操作系统、数据库、中间件、浏览器、其他软件环境Slide29April2023硬件兼容性测试的基本内容

硬件兼容性测试的目的就是确定软件运行的最低硬件配置和环境。 操作系统和驱动软件特别要重视硬件兼容性的测试,而应用软件对硬件的依赖取决于操作系统对硬件的依赖。

(1)配置;(2)响应;(3)功能实现;(4)特别需求。

硬件兼容性的基本内容Slide30April2023硬件兼容性测试的基本内容

硬件主要部件的兼容性测试: (1)CPU 主要考虑软件对Intel和AMD产品的支持或兼容性,主要体现在芯片的主频和缓存上。 (2)内存 考虑在不同内存容量的环境下,软件的功能是否正常,性能是否满足要求。 (3)硬盘主机兼容性的基本内容Slide31April2023硬件兼容性测试的基本内容

与板卡兼容性相关的软件主要包括操作系统和驱动程序,而游戏软件对显卡的兼容性有很高的要求。

1.独立板卡

2.主板芯片组

3.自由驱动程序板卡兼容性打印机卡兼容性 打印机的兼容性需要在不同操作系统、不同办公软件、不同网络下进行。

Slide32April2023软件兼容性测试

当软件需要在多操作系统下运行时,就必须进行操作系统兼容性测试。如果软件运行在多层结构的网络环境下,则需要考虑服务器和客户机的操作系统兼容性。(1)Windows操作系统(2)Linux操作系统(3)Unix操作系统(4)Macintosh操作系统

软件与操作系统的兼容性Slide33April2023软件兼容性测试

数据库的标准主要包括SQL、ODBC、JDBC、ADO、JDO、OLEDB,这些标准也不断地完善、升级,推出了多个版本。由于各个数据库系统对标准的支持程度不同,导致基于某一种数据库开发的应用系统在其他数据库上未必能够运行好。如果系统从SQLServer迁移到Oracle,从Oracle8i升级到Oracle9i,都应当进行数据库兼容性测试。软件与数据库的兼容性Slide34April2023软件兼容性测试

数据库兼容性的测试要点:(1)数据完整性检查原数据库中的所有表能否全部移入新的数据库,并比较所有表中的数据是否正确。

(2)数据处理正确性检查原数据库中的所有存储过程和触发器是否能够在新数据库中正确执行并加载。(3)响应性能影响

检查新数据库中数据查询速度,看是否有很大影响。

软件与数据库的兼容性Slide35April2023软件兼容性测试

中间件的兼容性测试经常是在版本之间进行,通常是由低版本升级到高版本时做这种测试,如WebSphere从sp2升级到sp3,需要检查软件能否正确运行,性能是否正常。

软件与中间件的兼容性Slide36April2023软件兼容性测试

(1)InternetExplorer;

(2)Netscape;

(3)Firefox。有些HTML标签或脚本只能在某些特定的浏览器显示。不同厂家的浏览器对Java、JavaScript、ActiveX或不同版本HTML提供了不同程度的支持。例如,ActiveX是微软的产品,是为InternetExplorer而设计的;JavaScript是为Netscape而设计的。

软件与浏览器的兼容性Slide37April2023软件兼容性测试

数据兼容是指软件之间能否正确地交互和共享信息。

1.不同格式数据的兼容性

(1)被测软件能否与其他软件相互复制粘贴文字、图片、表格。

(2)被测软件能否打开或调用以前版本软件产生的数据

(3)被测软件能否与其相关的软件正常地交换数据;(4)被测软件能否与同类软件正常地交换数据; (5)被测软件所涉及的数据是否符合行业标准。

数据兼容性测试Slide38April2023软件兼容性测试

2.数据共享兼容性

(1)文件保存和文件读取;

(2)文件导入和文件导出;

(3)剪切、复制和粘贴

;(4)DDE、COM(ComponentObjectModel)和OLE。

3.XML符合性 对于XML符合性的测试采用业界常用的数据格式规范,一般是一套Schema文件。

数据兼容性测试Slide39April2023软件兼容性测试

软件产品的成熟需要有一个不断完善的过程,所以绝大多数软件都会存在多个版本。因此,新版本软件的推出就需要测试其向下的兼容性。

(1)定制应用软件的版本;

(2)商品化软件版本。多版本软件兼容性测试Slide40April2023数据迁移兼容性测试

数据迁移就是将旧系统中的数据进行清理、转换,并装载到新系统中。

1.数据迁移前的准备 (1)对迁移的数据源做详细说明; (2)建立新旧系统的数据字典; (3)对旧系统的历史数据质量进行分析; (4)新旧系统数据的差异分析; (5)建立新旧系统数据库表的映射关系; (6)开发数据转换和迁移工具。

Slide41April2023数据迁移兼容性测试

2.数据迁移的实施 (1)制定数据转换的详细实施步骤; (2)准备数据迁移环境; (3)对涉及数据迁移的技术进行测试; (4)实施数据迁移。

3.数据迁移后的校验 通过试运行新系统的功能模块,特别是查询和报表功能,检查数据的正确性。Slide42April2023数据迁移兼容性测试

为保证数据迁移的安全,可以考虑以下措施: (1)在实际运行环境之外搭建模拟环境,导入部分或全部数据,在模拟环境中进行迁移尝试。 (2)将旧系统的数据备份; (3)分步实施迁移:先将备份数据迁移到新的备份系统,原有的主系统不动。运行备份系统一段时间,若一切正常,则正式将数据迁移到新系统中。Slide43April2023软件兼容性的标准和规范

1.高级标准和规范高级标准和规范是指软件产品应当遵循的形式化标准,包括外形、感觉和外特性等。

2.低级标准和规范低级标准和规范是指软件产品应当遵循的实质性标准,包括语言规范、文件格式、通信协议等。应用软件不兼容于系统平台的低级标准和规范,是不能正常运行。应用软件不兼容于高级标准和规范,是不会影响软件运行的。软件兼容性标准等级Slide44April2023软件兼容性的标准和规范

标准符合性测试的基本原理是,将被测软件产品的功能、性能指标与标准规定的进行比较,确定软件与标准的符合程度。

1.数据内容类标准

由行业主管部门制定的一套标准,主要描述用于数据交换和操作的数据格式或内容规范。

2.通信协议类标准 通信协议标准描述了数据通信与传输的接口数据格式。

标准符合性测试分类Slide45April2023软件兼容性的标准和规范

3.开发接口类标准 开发接口标准描述了软件层次结构之间数据传输的格式和方法。 (1)SQL标准符合性测试; (2)ODBC标准符合性测试; (3)JDBC标准符合性测试;

4.信息编码类标准 通常是对字符集进行测试,如中文系统必须符合GB18030标准。

标准符合性测试分类Slide46April2023软件兼容性的标准和规范

标准符合性的测试过程就是将测试用例的输入输出与基准库中的输入输出比较,对不一致的结果进行分析,确定测试结果与标准的符合度。 (1)阅读理解标准; (2)确定测试工具; (3)确定用例文件;

(4)执行用例文件; (5)分析测试结果。

标准符合性测试步骤Slide47April2023兼容性测试用例设计矩阵

将测试环境要素按类别分成行列,或者按测试用例分成行列,构成测试用例设计矩阵。以SIM卡测试用例设计为例。

编号项目预置条件测试步骤测试要点次数备注pw_01

开机

1.开机动画为系统默认图片/影片2.开启本机号码

长按开机键,观察开机动画/音乐

1.开机画面显示正常,音乐和画面一致2.开机后可以正确搜网注册,注意找网时间是否过长3.待机界面显示正常3pw_02

1.开机动画为手动设置的gif图片2.开启本机号码长按开机键,观察开机动画/音乐

1.开机画面显示正常,音乐和画面一致2.开机后可以正确搜网注册,注意找网时间是否过长3.待机界面显示正常3pw_03

1.开机动画为手动设置的jpg图片2.开启本机号码长按开机键,观察开机动画/音乐

1.开机画面显示正常,音乐和画面一致2.开机后可以正确搜网注册,注意找网时间是否过长3.待机界面显示正常3pw_04

1.开机动画为影片2.开启本机号码长按开机键,观察开机动画/音乐

1.开机画面显示正常,音乐和画面一致2.开机后可以正确搜网注册,注意找网时间是否过长3.待机界面显示正常3Slide48April2023兼容性测试的重要环节

1.操作系统兼容性

2.异构数据库兼容性

3.新旧数据转换

4.异种数据兼容性

5.应用软件兼容性

6.硬件兼容性

软件易用性测试引言ISO9126质量模型用户界面测试优秀UI的构成为有残疾障碍的人员测试问题在哪里?

第一次走到新的办公室,透过落地的巨大玻璃门,可以看到里面的会议室。习惯的去推门,同时脚步并没有停下来。结果。。。

“哐”的一声巨响,差点整个身子就撞了上去,鼻子已经贴到了玻璃上。原来,这扇门是只能拉,而不能推的。引例撞门、饮水机、复印机……谁的错误?门的把手,遥控器,以及任何我们周围的东西,都是用户界面。让人会犯错误的设计,是易用性出了问题。人体工程学

人体工程学:研究“人-机-环境”系统中人、机、环境三大要素之间的关系,为解决该系统中人的效能、健康问题提供理论与方法的科学

主要目标:达到易用性。

应用范围:装修、服饰、硬件、工作环境等。举例:微软的硬件设计微软硬件部门所做的一项调查显示,办公中使用可靠而优质的鼠标和键盘,将有助于提高员工的工作效率和士气。调查表明,每3个办公室员工中,就有2个人每天需使用电脑工作至少6小时,约25%的员工每天需使用电脑工作8小时。当员工在电脑屏幕前花费的时间越来越多时,鼠标与键盘的质量和舒适度就起到了关键的作用。ISO9126质量模型质量:反映实体满足明确的和隐含的需要的能力的特性的总和。(------摘自GB/T6583-ISO8404(1994版)《软件质量与质量保证术语》)反映三方面问题:软件需求、隐性需求、规范化ISO9126质量模型质量功能性可靠性易用性效率维护性移植性适合性准确性互操作性保密安全性功能依从性成熟性容错性易恢复性可靠依从性易理解性易学性易操作性吸引性易用依从性时间特性资源利用效率依从性易分析性易改变性稳定性易测试性维护依从性适应性易安装性共存性易替换性可移植依从性易用性解释

易用性是指软件产品被理解、学习、使用和吸引用户的能力。易理解性:软件产品使用户能理解软件是否合适以及如何能将软件用于特定的任务和使用环境的能力;易学性:软件产品使用户能学习它的能力;易操作性:软件产品使用户能操作和控制它的能力;吸引性:软件产品吸引用户的能力。依从性:软件产品依附于同易用性相关的标准、约定、风格指南或规定的能力。易用性测试范畴易用性测试不仅针对应用程序,而且还包含用户手册等系列文档的测试。应用程序的易用性测试包含:安装测试功能易用性测试界面测试辅助系统测试等。易用性测试准则一切以用户为中心。软件测试员不用设计UI,只需把自己当作用户去找UI中的问题。邀请陌生人使用软件,进行测试。用户界面测试用于与软件程序交互的方式称为用户界面或UI。所有软件都有某种UI。虽然UI各不相同,但是从技术上讲,它们与计算机进行同样的交互—提供输入和接受输出。优秀UI的构成(7个要素)一、符合标准和规范符合标准和规范是最重要的用户界面要素。如果测试的是应用程序,则根据标准或规范进行易用性测试。如果测试的是平台软件,则只能根据测试经验或感觉进行测试测试。二、直观用户界面是否洁净、不唐突、不拥挤?UI的组织和布局合理吗?有多余功能吗?如果其他所有努力失败,帮助系统能帮忙吗?相关测试方法凭借经验或感觉进行测试。尝试回退性操作。注意有没有“头晕”的感觉。记住“帮助”功能的使用。三、一致用户的使用习惯:希望对一个程序的操作方式能够带到另一个程序中。快速键和菜单选项术语和命名听众或使用者相关测试方法基础:观察、使用各类型的软件。测试方法:比较。工作特点:细心。四、灵活例,计算器程序的两种状态体现和影响多种视图的选择状态跳转状态终止和跳过数据输入和输出相关测试方法发挥“好奇心”的特性。跳出常规。不走寻常路。五、舒适恰当错误处理性能舒适性要素是模糊的,主要体现在六、正确市场定位偏差(功能)语言和拼写(二义性)不良媒体(和软件保持一致)WYSIWYG(所见即所得)七、实用该属性仅指具体特性是否实用。考虑软件特性是否具有实际价值。是否有助于用户执行软件设计的功能?为有残疾障碍的人员测试易用性测试的一个严肃主题是辅助选项测试视力损伤,听力损伤,运动损伤,认知和语言障碍等对使用计算机和软件会造成极大的困难。国内有8296万残疾人(06年官方数据)。关于残疾人使用软件的调查英国高科技厂商Nomensa对20个国家100个流行网站研究发现许多网站不符合国际访问标准。最常见问题是JavaScript使用,以及使用不带解释性文字的图像。大量JavaScript使约10%用户无法访问关键信息,因为他们缺乏必要的软件;图片的文字描述使盲人能通过使用将文本转化为语音的屏幕文本阅读软件“看到”图像。另一个问题是颜色搭配不够好,给患有眼疾的用户访问网页带来了困难。-------CNET科技资讯网2010年12月7日国际报道残疾人在软件方面的发展软件公司:中国残疾人服务网---多层式架构数据仓库信息交换网络平台

易用软件网络工厂---易用物业管理软件、EUoffice集团OA系统、高校教务管理系统深圳市残友软件有限公司

---IT开发外包(ITO)和业务流程外包(BPO),国际上唯一一家全部由残疾人软件技术精英组成的高科技软件企业

法律要求:开发残疾人可以使用的用户界面的软件有一些法律规定。

美国:美国公民残疾人条例(ADA)声明、居民条例第508款、通信条例第255款

中国:《中华人民共和国残疾人保障法》(1990年颁布、1991年实施)、《残疾人教育条例》(1994年颁布并实施)。为有残疾障碍的人员测试文档测试软件开发过程过程说明输出产品需求分析明确系统“做什么”软件需求规格说明书设计概要设计数据库设计,确定系统的框架、模块关系,设计函数方法接口概要设计说明书详细设计每个模块详细实现流程详细设计说明书编码测试测试计划,测试需求,需求变更表…..测试总结部署部署计划书、用户手册、维护手册需要进行文档测试的部分本讲要点为什么需要进行文档测试采用什么测试方法测试文档测试人员参与文档测试的必要性文档测试组织方式为什么需要进行需求测试?在软件开发过程中,需求分析是最开始的工作,需求分析如果做得不够详细或者是偏离用户需求的话,往往会给项目带来灭绝性的灾难。用户的表达和需求工程师的理解有时间并不会一致,这样会导致用户所想的和需求说明书上所描述的有偏差。50%以上的缺陷其实是在软件需求阶段被引入的。由于需求编写存在问题,不明确,不清晰,不正确、需求遗漏导致的。按照尽可能早的测试原则,测试人员应该在需求阶段就介入,并贯穿软件开发的全过程。测试项目周期需求测试阶段测试计划阶段测试设计阶段测试执行阶段,缺陷跟踪总结评估阶段需求评审,回想上节课的测试方法介绍,你认为应该采用什么方法呢?静态测试-评审需求评审的目的需求评审员就是需要让需求明确起来,让测试,开发,需求方都能对需求(这里的需求当然也包括需求实现方式)达成一致。测试人员为什么需要参加需求评审在软件生命周期中,越晚发现的错误越难修改,修改成本越昂贵软件经历了需求,设计,编码,测试,不同的阶段有专业人士配合完成,由于下游技术人员对于上游技术人员的理解偏差,将导致不同阶段的产物之间存在不一致的现象。测试人员参与需求评审,充分地理解需求,确保对需求的理解与需求分析人员是一致的;测试人员参与需求评审,从可测试的角度,努力发现《用户需求说明书》中不可测试的需求,从而提醒需求分析人员尽早修改;测试人员参与需求评审,从测试人员的角度努力发现《用户需求说明书》中的不完整性,从而提醒需求分析人员及时补充遗漏掉的这部分用户需求。需求规格说明书的检查步骤获取最新版本的软件需求规格说明书,同时尽量获取用户原始需求文档阅读和尝试理解需求规格说明书中描述的所有需求项对照需求规格说明书检查列表进行检查和记录针对检查结果进行讨论,修订需求规格说明书需求规格说明书检查列表example序号检查项检查结果说明1用户覆盖了用户提出的所有需求项是【】否【】NA【】2用词是否清晰,语义是否存在有歧义的地方是【】否【】NA【】3是否清楚的描述了软件需要做什么以及什么不做是【】否【】NA【】4是否描述了软件的目标环境,包括软硬件环境是【】否【】NA【】5是否对需求项进行了合理的编号是【】否【】NA【】6需求项是否前后一致、彼此不冲突是【】否【】NA【】7是否清楚的说明了系统的每个输入、输出格式,以及输入与输出之间的对应关系是【】否【】NA【】8是否清晰的描述了软件系统的性能要求是【】否【】NA【】9需求的优先级是否合理分配是【】否【】NA【】10是否描述了各种约束条件是【】否【】NA【】举例1-1实例:项目监管

县级主管登录系统后,可以查看项目经办人提交的项目实施进度,系统显示当前时间10日范围内的待办项目列表(包括当前时间之前未办事项及未来一段时间的待办事项)。县级主管可针对项目经办人提交的项目进度安排进行审核,审核通过后提交至市级,否则驳回至项目经办人重新修改,若出现异常,县级主管可以直接强行终止项目,并填写终止原因,提交至市级审核。举例1-2以上需求存在的问题是:(1)“当前时间10日范围内”描述模糊,没有明确的描述。(2)“未来一段时间”是多长时间?(4)“若出现异常”,异常是怎样的情况?举例2-1“产品应在不少于每60秒的正常周期内提供状态信息”存在问题:需求不可测

产品的哪个模块在哪个位置提供具体哪些状态信息一定要每六十秒,误差允许?修改建议后台任务管理器应该以误差上下不超过10秒的60秒间隔,在用户界面的指定位置显示状态信息如果后台进程处理正常,那么应该显示任务已完成的百分数/比任务完成时,应显示相关的信息后台任务出错应该显示错误信息举例2-2“产品应瞬间在显示和隐藏不可打印字符间切换”存在问题:需求不可行

产品的那个模块瞬间?不可打印字符?产品自动切换?有无触发条件?修改后用户能够在一个由特定触发条件激活处于编辑的文档中在显示和隐藏所有HTML标记间切换举例2-3“如果可能,主管号码应通过联机校验,而不是通过主全体主管号码列表校验”存在问题:需求模糊可能?举例2-4用例:业务单据查询典型过程:打开查询界面键入查询条件确定并提交查询系统返回相关信息存在问题:不可测试

输入的查询条件包括哪些提交查询之前是否会验证输入数据的正确性输入数据的单位,范围有无限制所有条件都不输入是否意味着能查询出所有业务单据返回业务单据包含哪些信息?需求点正确性:对照原始需求规格说明书必要性:不能回朔到出处的需求项可能是多余的优先级:恰当地划分并标识明确性:不能使用含糊的词汇可测性:每项需求都必须是可验证的一致性:内容前后一致可修改性:良好的组织结构具体详看(检查单)测试需求的分析和确定检查需求规格说明书开展方式审查过程的主持人需要根据项目的计划以及质量管理的计划对此次的审查会议制定一个详细的计划。(审查对象,审查组人员组成以及职责)审查准备:文档作者向相关人员发布文档;审查人员尽可能发现一些问题;文档作者修正问题;确定会议时间、地点、设备;审查会议:文档作者与审查人员做深入交流回归审查总结,VSS归档(VSS版本控制器)4软件测试项目管理软件测试项目管理

软件测试项目管理的概述软件测试项目的组织软件测试项目的过程管理软件测试项目的资源管理测试项目的进度管理测试项目的风险管理测试项目的质量管理和配置管理软件测试文档的管理软件测试项目管理的概述软件项目管理的共性软件测试项目管理的特点软件项目管理的共性人员(People)

问题(Problem)过程(Process)项目软件测试项目管理的特点软件质量标准定义不准确、任务边界模糊,如何确定什么时候软件测试可以结束,找不到严重的缺陷并不代表软件不存在严重的缺陷。软件测试项目的变化控制和预警分析要求高。软件测试项目具有智力密集、劳动密集的特点,受人力资源影响最大,项目成员的结构、责任心、能力和稳定性对测试执行、产品质量有很大的影响。测试任务的分配难测试要求人力资源十分稳定。由于软件测试项目不仅是一个技术工作,而且要求对产品的功能、特性需要非常了解。软件测试人员在待遇、地位可能受到一些不公正的待遇,软件测试项目的组织软件测试项目的人员组织模式测试项目的管理原则

测试计划先行

建立优先级

建立客观的评价标准

软件测试项目的过程管理测试项目启动测试计划阶段测试设计阶段测试执行阶段测试结果的审查和分析测试计划阶段测试项目计划的整体目标是为了确定测试的任务、所需的各种资源和投入、预见可能出现的问题和风险,以指导测试的执行,最终实现测试的目标,保证软件产品的质量。制定测试计划,要达到的目标有:制定一个现实可行的、综合的计划,包括每项测试活动的对象、范围、方法、进度和预期结果;为项目实施建立一个组织模型,并定义每个角色的责任和任务;开发有效的测试模型,能正确地验证正在开发的软件系统;确定测试所需要的时间和资源,以保证其可获得性、有效性;确立每个测试阶段测试完成以及测试成功的标准、要实现的目标;识别出测试活动中各种风险,并消除可能存在的风险,降低那些不可能消除的风险所带来的损失

测试计划阶段

(2)测试的输入标准整体项目计划框架;需求规格说明书;技术知识或业务知识标准

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论