软件体系结构模型,建立一个文件管理模型,要求: 文件增,删,改,查操

流程图(Flow Chart):使用图形表示算法的思路是一种极好的方法,因为千言万语不如一张图。流程图在汇编语言和早期的

环境中得到应用。相关的还有一种

以特定的图形符号加上说明,表示算法的图,称为流程图或

流程图是流经一个系统的信息流、观点流或部件流的图形代表。在企业中,流程图主要用来说明某一过程。这种过程既可以是生产线上的

,也可以是完成一项任务必需的管理过程。

例如,一张流程图能够成为解释某个零件的制造工序,甚至组织决策制定程序的方式之一。这些过程的各个阶段均用图形块表示,不同图形块之间以

相连,代表它们在系统内的流动方向。下一步何去何从,要取决于上一步的结果,典型做法是用“是”或“否”的逻辑分支加以判断。

流程图是揭示和掌握封闭系统运动状况的有效方式。作为诊断工具,它能够辅助决策制定,让

清楚地知道,问题可能出在什么地方,从而确定出可供选择的行动方案。

流程图有时也称作输入-输出图。该图直观地描述一个工作过程的具体步骤。流程图对准确了解事情是如何进行的,以及决定应如何改进过程极有帮助。这一方法可以用于整个企业,以便直观地跟踪和图解企业的运作方式。

流程图使用一些标准符号代表某些类型的动作,如决策用菱形框表示,具体活动用方框表示。但比这些符号规定更重要的,是必须清楚地描述工作过程的顺序。流程图也可用于设计改进工作过程,具体做法是先画出事情应该怎么做,再将其与实际情况进行比较。

为便于识别,绘制流程图的习惯做法是:

圆角矩形表示“开始”与“结束”;

矩形表示行动方案、普通工作环节用;

菱形表示问题判断或判定(审核/审批/评审)环节;

用平行四边形表示输入输出;

:数据流程图表示求解某一问题的

,同时规定了处理的主要阶段和所用的各种数据媒体。

a、指明数据存在的数据符号,这些数据符号也可指明该数据所使用的媒体;

b、指明对数据执行的处理的处理符号,这些符号也可指明该处理所用到的机器功能;

c、指明几个处理和(或)数据媒体之间的数据流的流线符号;

d、便于读.写数据流程图的特殊符号。

在处理符号的前后都应是数据符号.数据流程图以数据符号开始和结束(除9.4规定的特殊符号外)、

a、指明实际处理操作的处理符号,它包括根据逻辑条件确定要执行的路径的符号;

c、便于读.写程序流程图的特殊符号。

:系统流程图表示系统的操作控制和数据流。

a、指明数据存在的数据符号,这些数据符号也可指明该数据所使用的媒体;

b、定义要执行的逻辑路径以及指明对数据执行的操作的处理符号;

指明各处理和(或)数据媒体间

d、便于读.写系统流程图的特殊符号。

程序网络图表示程序激活路径和程序与相关数据的相互作用.在

中,一个程序可能在多个

中出现;但在程序网络图中,每个程序仅出现一次。

a、指明数据存在的数据符号;

b、指明对数据执行的操作的处理符号;

c、表明各处理的激活和处理与数据间流向的流线符号;

d、便于读.写程序网络图的特殊符号。

系统资源图:系统资源图表示适合于一个问题或一组问题求解的

a、表明输入.输出或存储设备的数据符号;

b、表示处理器(如中央处理机.通道等)的处理符号;

c、表示数据设备和处理器间的数据传输以及处理器之间的控制传送的流线符号;

优点:形象直观,各种操作一目了然,不会产生“歧义性”,便于理解,算法出错时容易发现,并可以直接转化 为程序。

缺点:所占篇幅较大,由于允许使用流程线,过于灵活,不受约束,使用者可使流程任意转向,从而造成程序阅读和修改上的困难,不利于结构化程序的设计。

是一款专业流程图工具。全拖曳式操作,丰富的符号库和实例,附带丰富的流程图实例和模板库,使用起来无需教程直接上手。

Visio是当今最优秀的绘图软件之一,它将强大的功能和易用性完美结合,可广泛应用于电子、机械、通信、建筑、

和企业管理等众多领域。

power designer是一款比较不错的画流程图软件。

,为流程从业者梳理流程业务提供便捷、标准化的建模工具,为开展流程梳理、固化、发布工作提供最佳工具支持。

visio是微软公司推出的非常传统的流程图软件,应用范围广泛。采用泳道图的方式能够把流程和流程的部门以及岗位关联起来,实现流程和所有者的对应。随着企业对流程管理应用需求的提升,片段、静态的方式逐渐很难适应企业实际流程管理的需要。

公司的流程软件,采用全息的方式能够比较全面地展示流程的基本要素,包括活动、输入输出、角色以及相关的文档等各种信息。具有简洁易用的特性,不支持多维度扩展应用。

aris是IDS公司的流程软件,具有IDS特有的多维建模和房式结构,集成了流程管理平台,可以通过流程平台进行流程分析和流程管理。

provision是metastorm公司的流程软件,以多维度系统建模见长,能够集成企业的多种管理功能,是流程管理专家级客户应用的工具。

框图宝(MyFlowChart)是youfabao的在线流程图软件,可以在线绘制流程图,简单易用,基于

ProcessOn是一个基于Web的免费画流程图的网站。特点:1.免费;2;不用安装;3.可以多人同时登录画一张流程图。

组织应确定、收集和分析适当的数据,以证实质量管理体系的适宜性和有效性并评价在何处可以持续改进质量管理体系的有效性。

b、与产品要求的符合性

c、过程和产品的特性及趋势,包括采取预防措施的计划

第1步,打开Word2010文档窗口,切换到“插入”功能区。在“插图”分组中单击“形状”按钮,并在打开的菜单中选择“新建

小提示:必须使用画布,如果直接在Word2010文档页面中直接插入形状会导致流程图之间无法使用连接符连接。

第2步,选中绘图画布,在“插入”功能区的“插图”分组中单击“形状”按钮,并在“流程图”类型中选择插入合适的流程图。例如选择“流程图:过程”和“流程图:决策”。

第3步,在Word2010“插入”功能区的“插图”分组中单击“形状”按钮,并在“线条”类型中选择合适的连接符,例如选择“

”和“肘形箭头连接符”。

指向第一个流程图图形(不必选中),则该图形四周将出现4个红色的连接点。鼠标指针指向其中一个连接点,然后按下鼠标左键拖动箭头至第二个流程图图形,则第二个流程图图形也将出现红色的连接点。定位到其中一个连接点并释放左键,则完成两个流程图图形的连接。

第5步,重复步骤3和步骤4连接其他流程图图形,成功连接的连接符两端将显示红色的圆点。

第6步,根据实际需要在流程图图形中添加文字,完成流程图的制作。

ProcessOn是一个面向商业流程用户的专业社交网络,成立于2011年6月并于2012年启动。ProcessOn将全球的专家顾问、咨询机构、BPM厂商、IT解决方案厂商和广泛的企业用户紧密的连接在一起,提供基于

的免费流程梳理、创作协作工具,与同事和客户

,实时创建和编辑流程,并可以实现更改的及时合并与同步,这意味着跨部门的流程梳理、优化和确认可以即刻完成。

专注于为流程人员提供价值,利用互联网和社交技术颠覆了人们梳理流程的方法习惯,继而使商业用户获得比传统模式更高的效率和回报,改善人们对流程图的创作过程。

使用流程图需要考虑很多问题,如:

过程中是否存在某些环节,删掉它们后能够降低成本或减少时间?

还有其他更有效的方式构造流程吗?

整个过程是否因为过时而需要重新设计?

  • 1. .中国知网[引用日期]
  • 2. .中国知网[引用日期]
  • 3. .中国知网[引用日期]
  • 4. .中国知网[引用日期]
}

第一部分:软件评测知识

软件测试:在规定条件下对程序进行操作,以发现错误,对软件质量进行评估,包括对软件形成过程的文档、数据以及程序进行测试

软件质量:软件特性的总和,软件满足规定或潜在用户需求的能力

软件测试只是质量保证工作中的一个环节,软件质量保证与软件测试是软件质量工程的两个不同层面的工作;

质量保证:通过预防、检查与改进来保证软件质量,采用全面质量管理和过程改进的原理来开展质量保证工作,主要关注软件质量的检查与测试,主要着眼于软件开发活动的过程、步骤和产特

软件测试:通过执行软件来,对过程中的产物(开发文档和程序)进行走查,发现问题,报告质量

测试是程序的执行过程,目的在于发现错误;

一个好的测试用例在于发现了至今未发现的错误;

一个成功的测试是发现了 至今未发现的错误的测试;

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

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

完全测试是不可能的,测试需要终止

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

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

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

程序开发过程中的各个文档、源程序

是软件开发瀑布模型的变种,主要反映测试活动与分析和设计的关系;

局限性:把测试作为编码之后的最后一个活动,需求分析等前期产生的错误直到后期的验收测试才能发现

在V模型的基础上,增加千开发阶段的同步测试,形成W模型;测试与开发同步进行,有利用尽早的发现问题

局限性:仍把开发活动看成是从需求开始到编码结束的串行活动,只有上一阶段完成后,才可以开始下一阶段的活动,不能支持迭代,自发性以及变更调整

在H模型中,软件测试过程活动完全独立,贯穿于整个产品的周期,与其他流程并发地进行,某个测试点准备就绪时,就可以从测试准备阶段进行到测试执行阶段;软件测试可以进行尽早的进行;软件测试可以根据被测物的不同而分层次进行

在实际工作中应灵活地运用各种模型的优点

强调了在整个软件项目开发中需要经历的若干个测试级别,并与每一个开发级别对应;忽略了测试的对象不应该仅仅包括程序,没有明确指出对需求、设计的测试

补充了V模型中忽略的内容,强调了测试计划等工作的先行和对系统需求和系统设计的测试;与V模型相同,没有对软件测试的流程进行说明

强调测试是独立的,只要测试准备完成,就可以执行测试

又称模块测试,是针对软件设计的最小单位程序模块进行正确性检查的测试工作;可以从程序的内部结构出发设计测试用例,多个模块测试可以平行地独立进行测试

发现模块内部可能存在的各种差错

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

利用设计文档设计测试用例;创建被测模块的桩模块或驱动模块;利用被测试模块、驱动模块和桩模块来建立测试环境,进行测试

又称组装测试或联合测试,在单元测试基础上,将所有模块按概要设计和详细设计进行组装

发现模块连接中的接口可能存在的各种差错

穿越模块之间的数据是否会丢失;一个模块组装后是否会对另一模块或其他模块存在影响;各个子功能组装在一起是否会达到预期的父功能;全局数据结构是否有问题;单个模块的错误累积起来是否会放在

一次性组装方式,非增殖式方式也叫整体拼装,对模块分别测试然后将所有模块组装;第二种增殖式组装方式,可以是自顶向下或自底向上

成功地执行了测试计划中规定的所有测试用例;修正了所发现的错误;测试结果通过专门小组的评审

验证软件的功能和性能及其他特性是否与用户的要求一致

有效性测试 运行黑盒测试方法验证所测软件是否满足需求规格说明书列出的需求;所有文档正确且便于使用;软件可移植性、易用性、兼容性进行测试;软件配置复查 保证软件配置的所有成分都齐全

验证和确认系统是否达到其原始目标,而对集成的硬件和软件系统进行的测试

在真实或模拟系统运行环境下,检查完整的程序系统能否和系统(硬件设备、网络、系统软件)正确配置、连接,满足用户需求

测试内容:根据任务书或合迥、供需双方约定的验收依据文档进行对整个系统的测试与评审,确认是否接收或拒绝系统;

通常也叫‘验收测试’或‘a测试’,在软件开发环境中,开发者检测与证实软件的实现是否满足软件设计说明或软件需求说明的要求

在用户的应用环境下,用户检测与核实软件实现是否符合自己预期的要求。B测试通常被认为是用户测试,把软件有计划地免费地分发到目标市场,让用户大量使用、评价检查软件

由第三方测试机构来进行的测试,也称独立测试

通过人工或使用工具运行程序进行检查,分析程序的执行状态和程序的外部表现

   不运行程序,能过人工对程序和文档进行分析与检查,包括走查、符号执行、需求确认等

通过对程序内部结构的分析、检测来寻找问题,检查程序的结构及路径是否正确,检查程序的内部动作是否按照设计说明的规定正常进行

又称功能测试,通过运行程序发现其缺陷和错误,在程序界面处进行测试

介于白盒和黑盒测试之间,关注输出对于输入的正确性,也关注程序的内部结构,但没有白盒测试那样详细、完整

单元、集成、确认、系统、验证

白盒、黑盒、灰盒或静态、动态

软件错误、软件缺陷、软件故障、软件失效

软件错误:在软件生存周期内的不希望或不可接受的人为错误

软件缺陷:存在于软件(文件、程序、数据)之中的不希望或不可接受的偏差

软件故障:软件运行过程中出现的一种不希望或不可接受的内部状态。

软件失效:软件运行时产生的一种不希望或不可接受的外部行为

质量模型:代表软件质量属性的总体

软件质量特性与度量:质量特性和子特性、外部度量、内部度量

外部、内部质量的质量模型:质量属性包括:功能性、可靠性、易用性、效率、维护性和可移植性

概述了软件产品评价的过程,提供了评价需求和指南

27.GB/T18905.5 软件工程 产品评价-评价者用的过程

28.软件测试的国内外现状

国外:软件测试已成为一个独立的产业,在软件公司占有重要的地位,软件测试理论研究蓬勃发展,软件测试市场繁荣,开发了大量的测试工具;

国内:软件测试成为一个新兴产业,测试技术贫乏,从业人员少,测试服务没有足够规模;著名的软件公司已成立了专业的测试队伍,国家在职业资格中新增了‘软件评测师’,企业资集认证时软件测试能务成为重要指标,软件产品增加了登记测试,成立第三方测试机构,软件测试成为一个独立课程

29.软件评测发展趋势

软件架构师、开发工程师、QA人员、测试工程题将进行更新的融合

测试行业将得到充分的尊重

设置独立的测试部门将得到越来越多公司的软件公司的共识

测试外包服务将快速增长

30.测试过程的特性与要求

是一抽象的、遵循GB/T18905《评价者用的过程》中定义软件评价过程的模型

可重复性:同一评价者按同一评价规格说明对同一产品进行重复地评价,应产生同一种可接受的结果

可再现性:同不同评价者同一评价规格说明对同一产品进行评价,应产生同一种可接受的结果

公正性:评价应不偏向任何特殊的结果

客观性:评价结果应是客观事实

组织和质量体系:评价者应立足于一个组织;评价组织为保证质量,可以建立质量体系

请求者职责:对软件产品确立必要的合法权利;为标识和描述产品提供必要的信息;阐述初步评价需求,与评价者协商确定实际需求,需求遵守相关的法规和标准;阐述对评价提交的信息的保密性需求;必要时在开发者和评价者之间起中介作用;必要时向评价者提供计算机和其他设备

评价者职责:检查请求者对软件产品是否有充分合法的权利;按规定对请求者提供保密承诺;提供有资格的人员,以便实施评价;提供评价工具和技术;按照评价需求实施测试;保证评价过程中的所有记录 ;保证及时向请求者提交评价报告

31.软件测试与配置管理

配置项标识:标识测试样品、标准、工具、文档报告等配置项的名称和类型、标识各配置项的所有者及储存位置

配置项控制(变更控制):规定测试基线、基线创立时间、变更控制委员会人员组成、职能、确定变更请求的处理程序和终止条件、变更过程中测试人员变更的职能等

配置状态报告:定义报告形式、内容和提交方式、确认过程记录和跟踪问题报告、更改请求、更改次序;确定测试报告提交的时间与方式;

配置审计:确定审计执行人员和执行时机;确定审计的内容与方式;确定发现问题的处理方法

组织结构设计因素:垂直还是缓、市场还是产品、集中还是分散、分级还是分散、专业人员还是工作人员、功能还是项目

独立测试组织:没有此组织,建立系统不会理想

集中管理的测试组织:成立独立部门,集中管理

选择测试组织结构方案的准则:提供软件测试的快速决策能力;利于合作;能够独立运作并具有精干的人员配置;有利于协调测试与质量管理的关系;有利于满足软件测试过程管理要求;有利于为测试技术提供专有技校;充分利用现有测试资源;对测试者的职业道德产生积极影响

具有理解与评价软件测试政策、标准、过程、工具、培训和度量的能力;具有领导能力;具有吸引并留住杰出测试专业人才的能力;具有沟通、支持和控制能力;具有测试时间、质量和成本控制能力

一般的表达、交流、协调、质量意识、软件工程能力;测试技能和方法;测试规划能力;测试执行能力;测试分析、报告和改进能力;

1~2年测试技能;3~4年测试过程;4~5年测试组织工作;5~6年技术管理;6~12年测试管理

按培训内容分类:测试基础知识和技能培训;测试设计培训、测试工具培训;测试对象软件产品培训;测试过程培训;测试管理培训

33.软件测试风险分析

软件测试风险:是软件测试过程出现的或潜在的问题,造成的原因主要是测试计划的不充分、测试方法有误或测试过程的偏离,造成测试的补充以及结果不准确

软件测试风险主要是对测试计划执行的风险分析与制定要采取应急措施;重点在措施

测试计划的风险:一般指测试进度滞后或出现非计划事件;常见的有交付日期、测试需求、测试范围、测试资源、人员的能力、测试预算、测试环境、测试支持、测试工具;

34.软件测试的成本管理

测试准备成本、测试执行成本、测试结束成本

测试准备环境尽可能使用软件和测试环境配置自动化;测试实施尽可能采用自动化测试工具(测试用例自动化执行),人工测试最好请初级技术人员,不使用测试工程师;测试结束编制测试报告测试结果与预期结果比较采用自动化方法(测试文档编制模板化)

一致性成本(用于测试实施成本)、非一致性成本(由出现的问题和故障引起)

质量成本=一致性成本+非一致性成本

用户手册、操作手册、维护修改建议

需求说明书、概要设计、数据库设计、详细设计、可行性研究报告

项目开发计划、测试计划、测试报告、开发进度月报、开发总结报告

包装上的文字及图案;宣传材料、广告及其他插页;授权/注册登记表;最终用户许可协议;标签和不干胶条;安装和设置指导;用户手册;联机帮助;指南、向导;样例、示例和模板;错误提示信息;

37.用户文档测试的要点

明确读者群:根据读者群(如初级、中级、高级用户)的不同来检查文档内容,保证用户能够看得懂、能理解

术语:文档中术语的描述要适合定位的读者群,用法一致,标准定义与业界规范相吻合

文档内容的正确性:要保证所有信息是真实正确的

文档内容的完整性:要完全根据提示逐步操作,检查是否存在遗漏的地方

文档与程序的一致性:按照文档操作后,检查软件返回的结果与文档描述是否一致

文档的易用性:检查是否便于用户查找相应的内容

图表与界面截图:检查所有图表与界面截图与发布的程序版本一致

样例和示例:检查所有的样例和示例能够正确完成;

语言:中文文档保证无错别字和二义性

印刷与包装:印刷质量,包装质量

准确的按照手册的描述使用程序;尝试每一条建议;检查每条陈述;查找容易误导用户的内容;

内容的准确性;帮助功能的可靠性;每一条索引和主题列表要逐条检查,是否能够由索引进入主题;帮助系统中的每一个超级链接;主题是否全部能够在索引中找到;帮助系统的风格应简洁;

程序实现的业务逻辑与实际业务逻辑是否一致;

对软件功能应能够灵活定制

对于存在紧密关系的模块,是否方便功能转换,从一个功能进入到别一个功能

对于多处使用的数据应可以一次输入多处使用,减少用户重复工作

对于流程性强的操作,应能够限制操作顺序;对非法信息应不允许进行系统

对于用户的每一次操作,应能够给出提示或回应,使用户清晰的看到系统的运行状态

对于关键操作完成后或删除数据之前给出明确的提示信息;

41.用户界面测试:界面整体、界面元素测试

规范性测试:符合现行标准和规范

合理性测试:界面与软件功能是否相融洽,界面的布局是否协调

一致性测试:使用的控件、标签风格、错误提示信息、操作方法是否一致

界面定制性测试:界面元素的可定制性;工具栏的可定制性;统计检索的可定制性;报表的可定制性

窗口测试:大小、显示、窗口大小改变、多个窗口同时打开、支持操作方法等

菜单测试:是否符合需求;措辞是否准确;顺序是否合理;图形布局是否一致

图标测试:是否符合表达习惯;不同的目标是否采用不同的图标;图标尺寸是否合适;建议与对应功能相似;图标上是否有标注

鼠标测试:交互环境中是否可以识别鼠标操作;多次点击是否识别;无规则点击是否会产生无法预料的结果;右键弹出菜单是否正确;

文字测试:界面文字是否正确,准确,无二义性;

确认软件系统对于服务器端、客户端及网络所需的环境是否正确、合理

最低配置是否能满足系统运行的需要;在推荐配置下系统的响应是否迅速;考察软件对运行硬件环境有无特殊说明;软件系统能否运行在多种硬件配置环境下

确认要求的最低配置和推荐配置的合理性和正确性;主要指标:机型的要求;CPU;内存;硬盘

独立板卡;主板芯片组;驱动程序中的自由软件

对不同厂商、不同型号的打印机进行以下测试:安装;打印测试页;调整纸张大小;选择分辨率;调整打印方向;逐页、多份打印;双面打印、网络打印

红外线鼠标、键盘、扫描仪、视频软件,刻录软件的兼容性

确认软件系统是否与多种类型的操作系统兼容,包括安装、关键流程的检查;操作系统包括Windows平台、Linux平台、UNIX平台;Macintosh 图形专用软件

确认软件系统在不同数据库的可移植性、互操作性,对完整性、应用系统测试;性能测试;数据库包括SQL;ODBC;JDBC;ADO;OLE DB;JDO

指对不同版本、不同补丁包的兼容性进行测试,检查应用程序是否能够正确运行,性能的变化;

创建一个兼容性矩阵,测试不同厂商、不同版本的浏览器对某些构件和设置的适应性;如Applets,JavaScript,ActiveX,VBScript

与支持软件(财务软件导出Excel)的兼容性测试;与其他同类软件的兼容性(与其他同类软件同时在机器中使用);与其他非同类软件的兼容性

确认软件之间能否正确地交互和共享信息,不同格式的信息是否兼容;包括系统与其他系统复制粘贴文字是否正确;旧版本信息在新版本是否能打开;新版本文件在旧系统中是否能打开;同类软件是否可以进行数据交换

XML能够使不同来源的结构化的数据较容易地结合在一起,提供一个描述数据和交换数据的有效手段;测试步骤:在测试工具中建立标准模板;用被测软件按要求导出数据;将导出的数据与标准模板进行对比匹配测试;输出测试结果;

45.平台化软件兼容性测试

用来构建与支撑应用软件的独立软件系统;基本要素包括支撑环境(应用系统开发与运行的基本条件)和开发体系(开发与维护管理应用软件的工具与方法);分类包括技术支撑型平台和应用实现平台

应用的广泛性(各行业);良好的开发性(保证接口的统一);具有灵活性和扩展性;快捷的适应性

测试内容:跨硬件平台能力(不同规模硬件平台上式);跨操作系统能力;支持多种数据库系统;客户端兼容性测试;数据兼容性测试

46.新旧系统数据迁移测试

数据迁移:新旧系统进行切换时,将历史数据进行清理、转换,并装载到新系统的过程;

数据迁移的准备、数据迁移的实施、数据迁移后的校验

对旧系统到新系统、新系统到旧系统进行迁移测试;生成备份测试迁移后的数据完整可靠性;

47.安全测试-测试内容

用户认证机制分为数字证书(检验用户身份的电子文件)、智能卡、双重认证、安全电子交易协议(SET电子商务中安全电子交易的国际标准);测试时有必要对用户认证机制进行全面测试,评价认证机制的合理性

对加密、解密机制进行测试,验证使用是否合理,强度是否满足当前需求;保护数据安全的重要手段

安全防护策略包括安全日志、入侵检测、隔离防护、漏洞扫描,是系统对抗攻击的主要手段

是一种数据安全策略,需要对备份和恢复的效果进行测试,保证实际数据的安全性

基本的防病毒技术:集中式管理、分布式杀毒(以策略为中心、以服务器为中心);数据库技术、LDAP技术的应用;多引擎支持;不同操作系统的防护;远程安装或分发安装;

测试时对网络防病毒软件的选购、部署方式、策略定义进行评估和测试

48.安全测试-测试策略

由实体安全、平台安全、数据安全、通信安全、应用安全、运行安全、管理安全七层次,因此安全性测试测策针对7层进行测试和评估

一般采用防火墙、入侵检测、漏洞扫描、安全审计、病毒防治、Web信息防篡改等基础安全技计,来保障应用系统的安全;测试时从以上方面分别进行测试

包括证书认证及证书审核注册,需验证功能和性能;测试采用过程是否符合标准;证书类型是否正确;证书格式、申请、审核、下载功能是否正确;并发性、扩展性、备份

验证功能和性能;测试查询、管理、证书信息发布、下载、更新功能;并发性、扩展性

验证功能和性能;测试密钥生成、发送存储、查询等基本功能,安全管理功能、系统管理功能;并发压力、最大量密钥系统的基本功能、密钥的保存期、备份;

验证功能和性能;测试加解密功能、多密码算法支持、增加功能;长度、系统速度、扩展能力

集中式授权服务 验证是否具有用户管理、审核管理、资源管理、角色管理等主要功能;分布式授权服务 验证其是否有资源访问的签名授权、授权管理等功能;同时还要对系统进行并发压力测试

验证功能和性能;测试时间来源是否正确、保存功能、签发功能;时间精度、验证时间戳请求并发性、可扩展性

:由通过安全审查的网络可信接入设备和网络信任域管理系统组成;验证功能和性能;接入认证交换机、限制、管理、管理配置功能;认证时间、认证接入请求数并发性、接口

故障恢复、数据备份、容灾备份

采用黑盒测试方法,对涉及安全的软件功能进行测试

采用主机或系统漏洞扫描器自动检测远程或本机安全性弱点

采用冒充、重演、消息篡改、服务拒绝、内部攻击、外部攻击、陷阱门、特洛伊木马方法进行测试

对数据进行截取分析的过程,主要用于对网络加密的验证

50.软件产品安全测试

侧重于用户对数据或业务功能的访问控制,数据存储和数据通信的远程安全控制

测试用户权限分配合理性、用户名、用户密码的各项限制

测试是否关闭和卸载了不必要的服务和程序、是否存在不必要的账户、权限设置合理性

测试用户的权限,用于存储用户和口令的表信息尽量加密,程序中是否存在默认的用户名和密码

测试软件系统通信息加密情况,采用验证和侦听技术完成,

测试日志的完整性、正确性,是否提供安全日志的智能统计分析能力,

51.网络系统全生命周期测试策略

利用仿真技术测试设计方案、网络设备评估,为网络选型提供依据;

进行网络质量测试,如吞吐量、包转发率、丢包率,保证系统的可用性和稳定性,为网络应用系统开发提供基准值

完成应用系统的功能和性能测试,保证运行基本稳定后,将程序应用到网络上进行网络级测试,测试并发用户访问能力、响应时间、应用对网络资源占用情况,保证应用系统在网络平台上的性能

52.网络测试-网络仿真技术

是一种通过建立网络设备、链路和协议模型,并模拟网络流量的传输,从而获取网络设计或优化所需要的网络性能数据的仿真技术,也称为网络模拟技术或网络预测技术

在计算机构造虚拟的环境反映现实的网络环境,利用数据建模和统计分析的方法模拟网络行为,从而获取特定的网络特性参数;采用基于包的建模机制来模拟实际物理网络中包的流动,包括处理、组包、拆包过程

为网络规划、设计提供可靠的定量依据;可以验证实际方案或比较多个方案

在企业网络管理和优化中应用

作为网络辅助管理工具、可以对企业业务网络通信情况进行统计找出瓶颈、可以查出业务配置的错误、可以模拟故障了解系统的处理情况、对新增业务进行性能测试、模拟访问量预测网络的承受负载

构建接近于真实网络环境和业务,可以有效的模拟新协议的各种行为细节,作出公正的评判新协议的性能;对于大型通信设备制造商,可以作为其网络设备、协议以及应用开发的工具

设置服务水平、完成日常网络容量规划、离线测试网络、网络失效和容量极限分析

吞吐量:指被测试设备或被测试系统在不丢包的情况下,能够达到的最大包转发速率

丢包率:高负载状态下由于缺少资源而未转发的包的比例

延时:系统在有负载的情况下转发数据包所需的时间

背靠背性能:通过以最大帧速率发送突发传输流,并测量无包丢失时的最大突发长度来测试缓冲区容量

TCP/IP 4~7层负载匀衡:建立连接数、会话连接数、连接数据

IP语音网络测试:测试语音、数据流包的丢失、单向延时,延时抖动

宽带XDSL网络性测试:帧测试、端到端IP测试、信元测试、PPP容量测试、ATM完整性测试

VPN网络测试:最大隧道创建数量、包丢失、延时、响应时间

路由测试:协议、路由压力性能

可靠性测试、可接受性测试、瓶颈测试、容量规划测试、升级测试、功能/特性测试、吞吐量测试、响应时间测试、衰减测试、配置规模测试、网络设备评估测试

网络平台:网络操作系统、文件服务器、工作站

应用层:应用程序的客户端、桌面操作系统和数据软件

子系统:路由器、集线器、交换机、网桥

网络设备:(1)放入仿真网络环境中通过分析行为进行测试(2)使用的网络测试专用设备

网络布线:使用工具,如网络电缆测试仪、令牌环网测试仪、以太网测试仪、光缆测试仪、企业级网络测试仪

网络性能:七层网络结构分析模型法、网络连接结构的分析法,客户端、网络链路、服务器端三个模块

物理线缆测试仪、网络运行模拟工具、协议分析仪、专用网络测试设备

54.网络测试-网络应用测试

监控功能主要能过网络探测器设备安装在某一网段上采集数据

及时准确了解网络状况,定位问题的根源

Network Vantage:全面应用监控和报告产品,帮助发现和优化网络上的应用性能;

Sniffer:捕捉流量、监控网络活动、分析错误信息,定位问题

清楚故障现象;收集需要的用于帮助隔离可能故障原因的信息;根据收集到的信息考虑故障原因;根据分析的故障原因,建立一个诊断计划;执行诊断计划;改变参数确认结果

建立在网络应用分析的基础上,分析关键因素:会话信息(往返行程和流量信息)、包信息、响应时间信息、负载信息、高峰信息、线程信息、响应时间预测、带宽模拟  注意421页故障定位举例

物理层:连接方式、连接电缆、设备配置是否正确  使用show interface命令;

数据链路层:路由器的配置、连接端口、接口与通信设备封装;通过查看路由器配置检查封装,show命令

网络层:沿源到目标的路径,查看路由表,同时检查路由器接口的IP地址

55.Web应用的测试策略

客户端的测试、服务器端的测试、网络上的测试

应用功能的测试、Web应用服务的测试、安全系统的测试、数据库服务的测试

功能测试、性能测试、兼容性测试、安全性测试、易用性测试

设计测试、开发测试、应用测试

56.Web应用设计测试

设计测试的主要内容是对设计从全面性、适合性、标准性等方面进行检查

采用瘦客户端或胖客户端是否合需求:瘦客户端 客户端只作少量处理、业务逻辑规则在服务器端执行;胖客户端 客户端即显示用户页面,又执行部分业务逻辑;验证设计中采用的模式是否适合需求

确定Web架构的组成部分是否满足需求:验证各种服务器、中间件形成的架构是否满足需求,各种搭配是否兼容

服务器的配置及分布是否满足需求:验证服务器的配置和分布是否满足用户的功能、性能、成本等需求

功能设置的测试:验证Web应用中各项功能设置是否满足需求,应主要实现信息服务、办公自动化、Internet支持

信息组织结构设计的测试:信息组织结构设计模式包括线性结构、分层结构、非线性结构;验证设计模式是否符合用户需求,能否使用户直观、快捷的浏览到所需信息

页面设计的测试:页面显示一致性、友好性、直观的导航系统、不同类型浏览器、布局

容量规划测试:将所要求的延迟和带宽与该体系结构中每一环节的额定容量作一下比较,每个组成部分都必须满足需求;估算点击率是否满足需求;估算延迟和流量是否满足需求;估算Web应用系统所需服务器的资源消耗

安全系统设计测试:对常识性安全策略、加密技术、防火墙、防毒体系进行测试

57.Web应用开发测试

对Web应用的源代码和组件进行测试,保证代码的正确性、组件的功能正常

测试源代码规则、链接测试、框架测试(窗口大小改变信息改变情况)、表格测试(大小调整情况)、图形测试

进行表单测试、Cookies测试、脚本测试、CGI(服务器端技术)、ASP测试(代码、不同浏览器)、ActiveX控件测试(客户端技术)

使用Junit进行单元测试

58.Web应用运行测试

相同:测试内容、测试方法、测试手段基本相同;

不同:测试重点不同;采用的工具不同

可以采有黑盒测试方法进行功能测试,注意客户端的选择测试、客户端浏览器的配置、客户分辨率显示、内容测试

自动化技术:Web应用链接质量保证技术、Web应用功能测试技术

界面测试:页面中各元素布局的协调性、不同页面风格的统一性、用户在界面中操作的便利性、界面动态操作测试

辅助功能测试:用户是否能够较快的找到相应的使用说明、导航、站点地图、帮助信息功能

图形测试:主要查看所有图形信息是否有明确的用途、大小、质量、颜色、风格

负载测试测量Web系统在某一负载级别上的性能;压力测试测试系统的限制和故障恢复能力

测试步骤:确定交易执行响应时间;做计最大并发用户数;模拟用户请求,逐步加压;负载没有达到应优化

客户端配置与兼容性测试

浏览器的配置测试:缓存设置、cookies设置、显示设置、安全设置各项不同的设置对Web功能的影响程序,影响的配置在功能说明书中是否进行描述

平台兼容性测试:不同操作系统兼容性测试

浏览器兼容性测试:与平台兼容性测试结合,测试不同操作系统下不同浏览器类型的应用

安全体系测试:测试内容包括部署与基础结构、输入验证、身份验证、授权、配置管理、敏感数据、会话管理、参数操作、异常管理、审核和日志记录

应用级安全测试:测试注册与登录、在线超时、操作留痕、备份与恢复

传输级安全测试:测试经客户端传送到服务器端可能存在的安全漏洞以及服务器防范非法访问的能力

59.负载压力测试基本概念

指系统在某种指定软件、硬件以及网络环境下承受的流量,如并发的用户数、持续运行时间、数据量等。其中并发的用户数是负载压力的重要体现。

指在一定测试约束条件下,测试系统所能承受的并发用户量、运行时间、数据量,以确定系统所能承受的最大负载压力,负载压力测试是性能测试的重要组成部分

用来保证产品发布后系统的性能能够满足用户需求,包括两种测试策略:性能评测、性能调优

通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足性能指标的情况下,系统所能承受的最大负载量的测试

通过逐步增加系统负载,测试系统性能的变化,并最终确定在什么负载条件下,系统性能处于失效状态,并以此来获得系统能提供的最大服务级别的测试压力测试是为了发现在什么情况下系统的性能会变得不可接受

并发性能测试的过程,是一个负载测试和压力测试的过程;

逐渐增加并发用户数负载,直到系统的瓶颈或者不能接收的性能点,能过综合分析交易执行指标,资源监控指标来确定系统并发性能的过程;

并发性能测试是负载压力测试中的重要内容;

并发性能测试包括:应用在客户端性能的测试、应用在网络上性能的测试、应用在服务器端上性能的测试三个方面

采用系统稳定运行情况下所能支持的最大并发用户数,或者日常运行用户数,持续执行一段时间业务,保证达到系统疲劳强度需求的业务量,通过综合分析交易执行指标和资源监控指标,来确定系统处理最大工作量强度性能的过程

l   大数据量测试包括独立的数据量测试和综合数据量测试两类

l   独立的数据量测试:指针对某些系统存储、传输、统计、查询等业务进行的大数据量测试

l   综合数据量:指和压力性能测试、负载性能测试、疲劳性能测试相结合的综合测试

60.负载压力测试解决方案

一.  并发性能测试

并发压力过程与测试定位

二.并发性能测试-应用服务端测试

1. 目的:模拟大量并发用户执行不同业务操作,达到实施负载压力的目的

Vuser将运行的测试脚本

用于运行脚本的负载生成器

事务响应时间:测试在期望的事务响应时间内可以同时运行多少个Vuser,在脚本中指定要测试的事务名称以及Vuser的范围

(3)        制定方案执行计划:制定方案执行的时间安排,如开始时间、执行持续时间、启动/停止多少个Vuser数量等。注:如果脚本中包含有集合点,方案将不会按计划运行;集合点:在方案中指定Vuser,各Vuser执行的脚本,运行的时间,启动方案后,并不能保证所有的Vuser能够达到同步操作的效果,设置集合点,Vuser执行到集合点时,会被Controller滞留在集合点,等待所有Vuser全部到达后,执行某一项指定操作,从而达到同步并发的效果

(2)        交易处理指标:平均事务响应时间、每秒事务数、每秒事务总数、事条摘要、事务性能摘要、事务响应时间(负载下、百分比、分布)

(3)        Web请求指标:每秒点击次数、吞吐量、吞吐量摘要、HTTP状态代码摘要、每秒HTTP响应数、每秒下载页面数、每秒重试次数,重试次数摘要、连接数、每秒连接数、每秒SSL连接数

(4)        Web页面组件指标:激活网页细分、页面组件细分(随时间变化)、页面下载时间细分(随时间变化)、第一次缓冲时间细分(随时间变化)、已下载组件大小

二.并发性能测试-应用网络上性能测试

    应用网络上性能测试包括:应用网络故障分析和网络应用性能监控

1. 应用网络故障分析

l  定位应用程序和网络故障

l  工作原理:  多个捕捉点:Agent,被动监听数据包来实现实时数据采集

l  获取信息:  监控不同探针之间的连接状态,传输的字节数以及通信往返行程次数

会话性能概要,监控哪段网络延迟大,带宽对网络双向性能的影响,节点用于处理和用于传输的时间

服务器与客户端之间帧传输情况统计,监控到与应用相关的帧的分布,对每一个帧可以与相关的数据包关联,并且可以对帧解码

服务器与客户端之间传送包信息统计,监控包的详细信息,并且可以将包与帧及线程相关联

线程信息统计,监控线程的内容和生存周期,以及线程与数据包的关系

负载的高峰时刻,负载的平均值,高峰时刻可以与相关的线程、数据包、帧相关联

故障错误总结:应用级错误、TCP错误、IP错误、其他错误

2. 网络应用性能监控指标

(1)        测试目标:在系统试运行之后,需要及时准确地了解网络上正在发生什么事;什么应用在运行,如何运行;多少PC正在访问LAN或WAN;哪些应用程序导致系统瓶颈或资源竞争

l  分析关键应用程序的性能

l  定位问题的根源是在客户端、服务器、应用程序还是网络

l  哪些应用程序占用大量带宽

l  哪些用户产生了大量的网络流量

l  组成:      探针:采集与存储数据,并根据应用对数据进行分类,设置的原则是根据网络组成和监控要求

探针管理器:管理配置探针,设定数据采集与上传时间,合并收集的数据;

时间服务器:对探针进行时针同步

交互界面:数据展示平台

关键特性:客户和服务器通信量,应用响应时间和资源应用的业务水平等

按会话统计传输负载:测试应用和会话级响应时间,以及自动为通过网络中每一个联网设备的每一个应用程序生成负载图

应用、会话级、事务响应时间

延迟在何处被引入网络,瓶颈在哪里

三.并发性能测试-应用服务器端的测试

1.对应用服务器端的测试主要包括三方面:操作系统、数据库和中间件的监控

2.监控手段:可以采用工具自动监控,也可以使用操作系统、数据库、中间件本身提供的监控工具

3.利用工具监控的优点

操作系统的监控涉及后台重要服务器的操作系统监控,对于主流的操作系统,主要关注:内存、CPU、硬盘

2.监控建议-针对监控内存缓冲区、会话及磁盘等方面

(2)        扩展的会话/用户检查以及参数控制:发现不合理顺序扫描操作,从而分配附加的资源,修改应用程序,降低对系统资源的要求

四.负载压力测试解决方案-疲劳强度测试

强调长时间的考核,主要是过长时间运行系统,发现问题

1.日常强度疲劳强度测试

   模拟系统的日常业务(正常情况),持续执行‘一段时间’,暴露系统的性能问题,如内存泄露、资源争用

2.高峰业务疲劳强度测试

(1)  模拟系统的高峰业务(最大业务量),持续执行‘一段时间’,暴露系统的性能问题

(2)  时间指标要满足:(1)这段模拟时间所处理的交易量要达到系统疲劳强度需求的业务量 (2) 在这段测试周期中必须通过加大负载,以及尽可能长的测试周期来保证疲劳强度测试

五.负载压力测试解决方案-大数据量测试

(1)        独立数据量测试:针对某些系统存储、传输、统计、查询等业务进行单用户大数据量测试,如大量的批处理任务

61.负载压力测试指标分析

   主要包括客户端交易处理性能指标、服务器资源监控指标、数据库资源监控指标、Web服务器监控指标、中间件监控指标

62.负载压力测试实施

分析应用程序:系统组件、系统配置、分析使用模型、分析任务分布

定义测试目标:以可度量的指标制定目标、确定测试时间

检查测试目标:响应时间、最优硬件配置、可靠性、瓶颈、系统容量

采用80~20原理测试强度估算及UCML压力需求分析、任务分布图、交易混合图方法   注 第275例子

测试策略:对比测试环境和真实业测试环境;测试案例:表格形式显示数据案例;测试内容:并发、疲劳、资源监控

测试环境、工具、数据准备

测试脚本录制、编写与调试

创建Vuser组、配置Vuser组中的Vuser、配置Vuser运行时的设置、配置负载生成器、配置终端服务设置、配置WAN仿真设置、配置脚本

运行场景、在执行期间查看Vuser、监视场景、

交易处理性能评估、资源占用性能评估、故障分析、数据库服务器性能问题及原因分析

63.软件自动化测试基本概念

通过测试工具或其他手段,按照测试工程师的预定计划对软件产品进行自动的测试

提高测试质量、提高测试效率、缩短测试工作时间、提高测试覆盖率、执行手工测试不能完成的测试任务、更好的重现软件缺陷能力、更好的利用资源、增进开发人员与测试人员的合作伙伴关系

对于定制型项目、周期短的项目不适于;业务规则复杂的对象工具很难实现;人体感观与易用性测试无法实现、不稳定的软件、涉及与物理设备交互

64.选择自动化测试工具

负载压力测试工具、功能测试工具、白盒测试工具、网络测试工具、测试管理测试工具、测试辅助工具

从功能、价格、测试工具的长期投资三个方面考虑

帮助测试工程师自动处理测试开发到测试执行的整个过程中的问题,可以创建可修改且可复用的测试脚本,随时执行脚本,减少劳动量、提高测试效率

采用录制回放的方式来模拟用户的实际操作;采用环境判断录制模式或模拟模式

创建脚本、调试脚本、执行测试、结果分析

66.负载压力自动化测试

可以记录客户端的操作,模拟上百或上千虚拟用户同时操作的情景,对系统进行性能测试

采用录制回放的方式来模拟用户的实际操作;

协议选择、创建测试脚本、参数化测试数据、创建虚拟用户、执行测试、结果分析

一.黑盒测试概述(2.10 黑盒测试)

l  也称功能测试,它是通过测试来检测每个功能是否都能正常使用

l  把程序看成一个黑盒子,完全不考虑程序内部结构和内部特性,着眼于程序外部结构,不考虑内部逻辑结构

l  在程序接口进行测试,只检查程序功能是否按照需求说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息

l  主要针对软件界面和软件功能进行测试

2.试图发现的错误类型

l  界面错误(输入能否正确的接受?能否输出正确的结果)

l  数据库访问错误(如数据结构定义错误或外部信息(如数据文件)访问错误)

3.黑盒测试用例设计方法

(1)      等价类划分法:把程序的输入域划分成若干部分,然后从每个部分中选取少数代表性数据作为测试用例。每一类的代表性数据在测试中的作用等价于这一类的其他值

(2)      边界值分析法:通过选择等价类边界的测试用例。不仅重视输入条件边界,而且也必须考虑输出域边界

(3)      错误推测法:基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性地设计测试用例的方法

(4)      因果图法:从用自然语言书写的程序规格说明的描述中找出因(输入条件)和果(输入或程序状态的改变),可以通过因果图转换成判定表

(6)      正交试验设计法:使用已设计好的正交表格来安排试验,并进行数据分析的一种方法,目的是用最少的测试用例达到最高的测试覆盖率

(7)      功能图法:用功能图形象地表示程序的功能说明,并机械地生成功能图的测试用例。功能图模型由状态迁移图和逻辑功能模型构成

二.黑盒测试用例设计方法

(1)划分基础:需求规格说明书中输入、输出要求

(2)等价类:某个输入域的子集合;分为有效等价类和无效等价类

l  有效等价类:指对于程序规格说明书来说是合理的、有意义的输入数据构成的集合。利用有效等价类可以检验程序是否实现了规格说明书中的功能和性能

l  无效等价类:与有效等价的定义恰巧相反

(3)划分等价类原则(6条)

规定了“必须如何”的条件

输入数据的一组值(n个),并且程序对每一个输入值分别进行处理

一个有效等价类(符合规则)

在确知已划分的等价类中,各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步地划分为更小的等价类

在确定了等价类之后,建立等价类表,列出所有划分出的等价类

(5) 确定测试用例步骤

l  第一步:为每个等价类规定一个惟一的编号

l  第二步:设计一个新的测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类。重复这一步骤,最后使得所有有效等价类均被测试用例所覆盖

l  第三步:设计一个新的测试用例,使其只覆盖一个无效等价类。重复这一步骤,最后使得所有有效等价类均被测试用例所覆盖

小结:采用等价类划分方法设计测试用例,按照划分等价类、列出等价列表、确定测试用例三个步骤完成,目标是把可能的测试用例组合缩减到仍然足以满足软件测试需求为止。

l  边界条件:可以在产品说明书中有定义或者在使用软件过程中确定

l  次边界条件:在软件内部,也称为内部边界条件

l  其他边界条件:如输入信息为空(对于此类问题应建立单独的等价类空间)、非法、错误、不正确和垃圾数据

(2)边界值的选择方法(遵循原则)

最大个数、比最大个数大1

最小个数、比最小个数少1

根据规格说明书的每个输出条件,使用 原则1、2

输入或输出是个有序集合

集合的第一个、最后一个元素

程序中使用一个内部数据结构

内部数据结构边界上的值

分析规格说明,找出其他可能的边界

l  程序读写软盘:测试用例-文件很小、等于软盘容量限制之内、空、超过

l  程序允许在一张纸上打印多个页面:测试用例-只打印一页,规定最大页,0页,大于允许最大页数

基本思想:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据它们选择测试用例

   侧重于输入条件的各种组合,各个输入情况之间的相互制约关系

从用自然语言书写的程序规格说明的描述中找出因果,通过因果图转换成判定表

l   第一步:分析程序规格说明的描述中,哪些是原因,哪些是结果。原在因常常是输入条件或是输入条件的等价类,结果是输出条件

l  第二步:分析程序规格说明的描述中语义的内容,并将其表示成连接各个原因与各个结果的‘因果图’

l  第四步:把因果图转换成判定表

l  第五步:为判定表中每一列表示的情况设计测试用例

通常在因果图中,用Ci 表示原因,Ei表示结果,各结点表示状态,可取值0(状态不出现) 或1(某状态出现)

l  恒等:若原因出现,则结果出现;若原因不出现,则结果不出现

l  非(~):若原因出现,则结果不出现;若原因不出现,则结果出现

l  或(V):若几个原因中有一个出现,则结果出现;若几个原因都不出现,则结果不出现;

l  与(∧):若几个原因都出现,结果才出现;若其中有一个原因不出现,则结果不出现

从输入(原因)考虑四种约束

l  E(互斥):表示两个原因不会同时成立,两个中最多有一个可能成立

l  I(包含):表示三个原因中至少有一个必须成立

l  O(惟一):表示两个原因中必须有一个,且仅有一个成立

l  R(要求):表示两个原因,a出现时,b也必须出现,a出现时,b不可能不出现

从输出(结果)考虑一种约束

l  M(屏蔽):两个结果,a为1时,b必须是0,当a为0时,b值不定

l  条件桩:列出了问题的所有条件

l  动作桩:列出了问题规定可能采取的操作

l  条件项:列出针对它所列条件的取值,在所有可能情况下的真假值

l  动作项:列出在条件项的各种取值情况下应该采取的动作

l  规则:任何一个条件组合的特定取值及其相应要执行的操作

注:判定表中贯穿条件项和动作项的一列就是一条规则;

l  第一步:确定规则的个数。假如有n个条件,每个条件有两个取值(0,1),故有2n种规则

l  第二步:列出所有的条件桩和动作桩

l  第四步:填入动作项。制定初始判定表

l  第五步:简化。合并相似规则或者相同动作

l  规格说明以判定表的形式给出,或很容易转换成判定表

l  条件的排列顺序不影响执行哪些操作

l  规则的排列顺序不影响执行哪些操作

l  当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则

l  如果某一规则要执行多个操作,这些操作的执行顺序无关紧要

l  从大量的试验数据中挑选适量的、有代表性的点,从而合理地安排测试的一种科学的试验设计方法

l  使用已造好的表格“-”正交表来安排试验并进行数据分析的一种方法

l  因子的状态:影响实现因子的条件

l  提取功能说明,构造因子‘-’状态表。

l  利用正交表构造测试数据集,正交表的推导依据Galois理论

L:代表正交表,L8(27)代表7为因子数,2为因子的水平数,8为此表行的数目(试验次数)

行数为mn型的正交表中,试验次数(行数)=∑(每列水平数-1)+1

l  动态说明:描述输入数据的次序或转移次序

l  静态说明:描述输入条件和输出条件之间的对应关系

(2)      功能图:由状态迁移图和布尔函数组成,状态迁移图用状态和迁移来表示。一个状态指出数据输入的位置(或时间),一个迁移指明状态的改变,同时要依靠判定表或因果图表示的逻辑功能

l  用功能图形象地表示程序的功能说明,并机械地生成功能图的测试用例

l  功能图模型由状态迁移图和逻辑功能模型构成

v    状态迁移图:用于表示输入数据序列以及相应的输出数据;由输入数据和当前状态决定输出数据和后续状态

v    逻辑功能模型:用于表示在状态中输入条件和输出条件的对应关系。由输入数据决定输出数据。此模型只适用于描述静态说明

l  功能图测试用例由测试中经过的一系列状态和在每个状态中必须依靠输入/输出数据满中的一对条件组成

从状态迁移图中选取测试用例,用节点代替状态,用弧线代替迁移,状态图就可转化成一个程序的控制流程图形式

为了把状态迁移(测试路径)的测试用例与逻辑模型(局部测试用例)的测试用例组合起来,从功能图生成实用的测试用例,在一个结构化的状态迁移(SST)中,定义3种形式的循环:顺序,选择和重复

l  生成局部测试用例:在每个状态中,从因果图生成局部测试用例。局部测试用例由原因值(输入数据)组合与对应的结果值(输出数据或状态)构成

l  测试路径生成:利用上面的规则生成从初始状态到最后状态的测试路径

l  测试用例合成:合成测试路径与功能图中每个状态的局部测试用例。结果是初始状态到最后状态的一个状态序列,以及每个状态中输入数据与对应输出数据的组合。

l  测试用例的合成算法:采用条件构造树

采用此方法进行设计时,需要进行场景的设计,在场景中采用基本流和备选流表示经过用例的每条路径

l  基本流:采用直黑线表示,是经过用例的最简单的路径(无任何差错,程序从开始直接执行到结束)

l  备选流:采用不同颜色表示,一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中,也可以起源于另一个备选流,或终止用例,不在加入到基本流中;(各种错误情况)

l  根据说明,描述出程序的基本流及各项备选流

l  根据基本流和各项备选流生成不同的场景

l  对每一个场景生成相应的测试用例

l  对生成的所有测试用例重新复审,去掉多余的测试用例,测试用例确定后,对每一个测试用例确定测试数据值

三.黑盒测试用例设计方法的选择策略

1.        首先进行等价类划分,包括输入条件和输出条件的等价类划分,将无限测试变成有限测试,这是减少测试量和提高测试效率的最有效办法

l  将测试行为具体量化的方法之一

l  设计一种情况,软件程序在这种情况下,必须能够正常运行并且达到程序所设计的执行结果

l  为达到最佳的测试效果或高效的揭露隐藏的错误而精心设计的少量测试数据,

l  一个好的测试用例是在于它能发现至今未发现的错误

l  在开始实施测试之前设计好测试用例,可以避免盲目测试并提高测试效率

l  测试用例的使用令软件测试的实施重点突出、目的明确

l  在软件版本更新后只需修正少部分的测试用例便可展开测试工作,降低工作强度,缩短项目周期

l  功能模块的通用化和复用化使软件易于开发,而测试用例的通用化和复用化使软件测试易于开展,并随着测试用例的不断精化其效率也不断攀升

2.计划测试用例的目的

(4)      组织性:使测试用例具有组织性,便于全体测试员和其他项目小组人员有效地审查和使用

(1)      定义:在测试计划中提炼测试方法,要明确指出设计包含的特性以及相关的测试用例和测试程序,并指定判断通过/失败的规则

(2)      目的;组织和描述针对具体特性需要进行的测试,注:不给出具体的测试用例或执行测试的步骤

l  标识符:用于引用和定位测试设计说明的惟一标识符

l  要测试的特性:对测试设计说明所包含的软件特性的描述。还将明确出要间接测试的特性

l  方法:描述测试的通用方法。如果方法在测试计划中描述,在测试设计说明中要详细描述要使用的技术,并给出如何验证测试结果的方法

l  测试用例信息:用于描述所引用的测试用例的相关信息。如测试用例编号

l  通过/失败规则:描述用什么规则来判定某项特性的测试结果是通过还是失败。

l  标识符:由测试设计过程说明和测试程序说明引用的唯一标识符

l  测试项:描述被测试的详细特性、代码模块等

l  输入说明:列举执行测试用例的所有输入内容或者条件}

我要回帖

更多关于 软件体系结构模型 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信