第一部分:软件评测知识
1. 软件质量与软件测试
软件测试:在规定条件下对程序进行操作,以发现错误,对软件质量进行评估,包括对软件形成过程的文档、数据以及程序进行测试
软件质量:软件特性的总和,软件满足规定或潜在用户需求的能力
2. 软件测试与质量保证
软件测试只是质量保证工作中的一个环节,软件质量保证与软件测试是软件质量工程的两个不同层面的工作;
质量保证:通过预防、检查与改进来保证软件质量,采用全面质量管理和过程改进的原理来开展质量保证工作,主要关注软件质量的检查与测试,主要着眼于软件开发活动的过程、步骤和产特
软件测试:通过执行软件来,对过程中的产物(开发文档和程序)进行走查,发现问题,报告质量
3. 软件测试的目的
测试是程序的执行过程,目的在于发现错误;
一个好的测试用例在于发现了至今未发现的错误;
一个成功的测试是发现了 至今未发现的错误的测试;
4. 软件测试原则
所有的软件测试都应追溯到用户需求
应当把“尽早地和不断地进行软件测试”作为测试者的座右铭
完全测试是不可能的,测试需要终止
测试无法显示软件潜在的缺陷;
充分注意测试中的群集现象
程序员应避免检查自己的程序
尽量避免测试的随意性
5. 软件测试对象
程序开发过程中的各个文档、源程序
6. 软件测试过程模型-V模型
是软件开发瀑布模型的变种,主要反映测试活动与分析和设计的关系;
局限性:把测试作为编码之后的最后一个活动,需求分析等前期产生的错误直到后期的验收测试才能发现
7. 软件测试过程模型-W模型
在V模型的基础上,增加千开发阶段的同步测试,形成W模型;测试与开发同步进行,有利用尽早的发现问题
局限性:仍把开发活动看成是从需求开始到编码结束的串行活动,只有上一阶段完成后,才可以开始下一阶段的活动,不能支持迭代,自发性以及变更调整
8. 软件测试过程模型-H模型
在H模型中,软件测试过程活动完全独立,贯穿于整个产品的周期,与其他流程并发地进行,某个测试点准备就绪时,就可以从测试准备阶段进行到测试执行阶段;软件测试可以进行尽早的进行;软件测试可以根据被测物的不同而分层次进行
9. 测试模型使用
在实际工作中应灵活地运用各种模型的优点
V模型 |
强调了在整个软件项目开发中需要经历的若干个测试级别,并与每一个开发级别对应;忽略了测试的对象不应该仅仅包括程序,没有明确指出对需求、设计的测试 |
W模型 |
补充了V模型中忽略的内容,强调了测试计划等工作的先行和对系统需求和系统设计的测试;与V模型相同,没有对软件测试的流程进行说明 |
H模型 |
强调测试是独立的,只要测试准备完成,就可以执行测试 |
10. 单元测试
定义 |
又称模块测试,是针对软件设计的最小单位程序模块进行正确性检查的测试工作;可以从程序的内部结构出发设计测试用例,多个模块测试可以平行地独立进行测试 |
目的 |
发现模块内部可能存在的各种差错 |
内容 |
模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试 |
步骤 |
利用设计文档设计测试用例;创建被测模块的桩模块或驱动模块;利用被测试模块、驱动模块和桩模块来建立测试环境,进行测试 |
11.集成测试
定义 |
又称组装测试或联合测试,在单元测试基础上,将所有模块按概要设计和详细设计进行组装 |
目的 |
发现模块连接中的接口可能存在的各种差错 |
内容 |
穿越模块之间的数据是否会丢失;一个模块组装后是否会对另一模块或其他模块存在影响;各个子功能组装在一起是否会达到预期的父功能;全局数据结构是否有问题;单个模块的错误累积起来是否会放在 |
组装方法 |
一次性组装方式,非增殖式方式也叫整体拼装,对模块分别测试然后将所有模块组装;第二种增殖式组装方式,可以是自顶向下或自底向上 |
完成标志 |
成功地执行了测试计划中规定的所有测试用例;修正了所发现的错误;测试结果通过专门小组的评审 |
12.确认测试
目的 |
验证软件的功能和性能及其他特性是否与用户的要求一致 |
测试内容 |
有效性测试 运行黑盒测试方法验证所测软件是否满足需求规格说明书列出的需求;所有文档正确且便于使用;软件可移植性、易用性、兼容性进行测试;软件配置复查 保证软件配置的所有成分都齐全 |
13.系统测试
目的 |
验证和确认系统是否达到其原始目标,而对集成的硬件和软件系统进行的测试 |
测试内容 |
在真实或模拟系统运行环境下,检查完整的程序系统能否和系统(硬件设备、网络、系统软件)正确配置、连接,满足用户需求 |
14.验收测试
测试内容:根据任务书或合迥、供需双方约定的验收依据文档进行对整个系统的测试与评审,确认是否接收或拒绝系统;
15.开发方测试
通常也叫‘验收测试’或‘a测试’,在软件开发环境中,开发者检测与证实软件的实现是否满足软件设计说明或软件需求说明的要求
16.用户测试
在用户的应用环境下,用户检测与核实软件实现是否符合自己预期的要求。B测试通常被认为是用户测试,把软件有计划地免费地分发到目标市场,让用户大量使用、评价检查软件
17.第三方测试
由第三方测试机构来进行的测试,也称独立测试
18.动态测试
通过人工或使用工具运行程序进行检查,分析程序的执行状态和程序的外部表现
19.静态测试
不运行程序,能过人工对程序和文档进行分析与检查,包括走查、符号执行、需求确认等
20.白盒测试
通过对程序内部结构的分析、检测来寻找问题,检查程序的结构及路径是否正确,检查程序的内部动作是否按照设计说明的规定正常进行
21.黑盒测试
又称功能测试,通过运行程序发现其缺陷和错误,在程序界面处进行测试
22.灰盒测试
介于白盒和黑盒测试之间,关注输出对于输入的正确性,也关注程序的内部结构,但没有白盒测试那样详细、完整
23.测试分类
开发过程 |
单元、集成、确认、系统、验证 |
实施组织 |
开发方、用户、第三方 |
测试技术 |
白盒、黑盒、灰盒或静态、动态 |
24.软件问题分类
软件错误、软件缺陷、软件故障、软件失效
软件错误:在软件生存周期内的不希望或不可接受的人为错误
软件缺陷:存在于软件(文件、程序、数据)之中的不希望或不可接受的偏差
软件故障:软件运行过程中出现的一种不希望或不可接受的内部状态。
软件失效:软件运行时产生的一种不希望或不可接受的外部行为
25.GB/T16260.1 产品质量-质量模型
质量模型:代表软件质量属性的总体
软件质量特性与度量:质量特性和子特性、外部度量、内部度量
外部、内部质量的质量模型:质量属性包括:功能性、可靠性、易用性、效率、维护性和可移植性
26.GB/T18905.1 软件工程 产品评价-概述
概述了软件产品评价的过程,提供了评价需求和指南
27.GB/T18905.5 软件工程 产品评价-评价者用的过程
28.软件测试的国内外现状
国外:软件测试已成为一个独立的产业,在软件公司占有重要的地位,软件测试理论研究蓬勃发展,软件测试市场繁荣,开发了大量的测试工具;
国内:软件测试成为一个新兴产业,测试技术贫乏,从业人员少,测试服务没有足够规模;著名的软件公司已成立了专业的测试队伍,国家在职业资格中新增了‘软件评测师’,企业资集认证时软件测试能务成为重要指标,软件产品增加了登记测试,成立第三方测试机构,软件测试成为一个独立课程
29.软件评测发展趋势
测试工作将进一步前移
软件架构师、开发工程师、QA人员、测试工程题将进行更新的融合
测试行业将得到充分的尊重
设置独立的测试部门将得到越来越多公司的软件公司的共识
测试外包服务将快速增长
30.测试过程的特性与要求
软件测试过程 |
是一抽象的、遵循GB/T18905《评价者用的过程》中定义软件评价过程的模型 |
|||||
评价过程的特性 |
可重复性:同一评价者按同一评价规格说明对同一产品进行重复地评价,应产生同一种可接受的结果 |
|||||
可再现性:同不同评价者同一评价规格说明对同一产品进行评价,应产生同一种可接受的结果 |
||||||
公正性:评价应不偏向任何特殊的结果 |
||||||
客观性:评价结果应是客观事实 |
||||||
评价过程的要求 |
一般要求 |
组织和质量体系:评价者应立足于一个组织;评价组织为保证质量,可以建立质量体系 |
||||
请求者职责:对软件产品确立必要的合法权利;为标识和描述产品提供必要的信息;阐述初步评价需求,与评价者协商确定实际需求,需求遵守相关的法规和标准;阐述对评价提交的信息的保密性需求;必要时在开发者和评价者之间起中介作用;必要时向评价者提供计算机和其他设备 |
||||||
评价者职责:检查请求者对软件产品是否有充分合法的权利;按规定对请求者提供保密承诺;提供有资格的人员,以便实施评价;提供评价工具和技术;按照评价需求实施测试;保证评价过程中的所有记录 ;保证及时向请求者提交评价报告 |
||||||
活动要求 |
确立软件评价需求 |
编制评价规格说明 |
制定评价计划 |
评价执行 |
作评价结论 |
31.软件测试与配置管理
配置管理活动 |
配置项标识:标识测试样品、标准、工具、文档报告等配置项的名称和类型、标识各配置项的所有者及储存位置 |
配置项控制(变更控制):规定测试基线、基线创立时间、变更控制委员会人员组成、职能、确定变更请求的处理程序和终止条件、变更过程中测试人员变更的职能等 |
|
配置状态报告:定义报告形式、内容和提交方式、确认过程记录和跟踪问题报告、更改请求、更改次序;确定测试报告提交的时间与方式; |
|
配置审计:确定审计执行人员和执行时机;确定审计的内容与方式;确定发现问题的处理方法 |
32.测试的组织与人员
测试的组织 |
组织结构设计因素:垂直还是缓、市场还是产品、集中还是分散、分级还是分散、专业人员还是工作人员、功能还是项目 |
||
独立测试组织:没有此组织,建立系统不会理想 |
|||
集中管理的测试组织:成立独立部门,集中管理 |
|||
选择测试组织结构方案的准则:提供软件测试的快速决策能力;利于合作;能够独立运作并具有精干的人员配置;有利于协调测试与质量管理的关系;有利于满足软件测试过程管理要求;有利于为测试技术提供专有技校;充分利用现有测试资源;对测试者的职业道德产生积极影响 |
|||
测试的人员 |
测试组织管理者 |
具有理解与评价软件测试政策、标准、过程、工具、培训和度量的能力;具有领导能力;具有吸引并留住杰出测试专业人才的能力;具有沟通、支持和控制能力;具有测试时间、质量和成本控制能力 |
|
测试人员 |
应具有的能力 |
一般的表达、交流、协调、质量意识、软件工程能力;测试技能和方法;测试规划能力;测试执行能力;测试分析、报告和改进能力; |
|
职业发展: |
1~2年测试技能;3~4年测试过程;4~5年测试组织工作;5~6年技术管理;6~12年测试管理 |
||
人员培训 |
按培训内容分类:测试基础知识和技能培训;测试设计培训、测试工具培训;测试对象软件产品培训;测试过程培训;测试管理培训 |
33.软件测试风险分析
软件测试风险:是软件测试过程出现的或潜在的问题,造成的原因主要是测试计划的不充分、测试方法有误或测试过程的偏离,造成测试的补充以及结果不准确
软件测试风险主要是对测试计划执行的风险分析与制定要采取应急措施;重点在措施
测试计划的风险:一般指测试进度滞后或出现非计划事件;常见的有交付日期、测试需求、测试范围、测试资源、人员的能力、测试预算、测试环境、测试支持、测试工具;
34.软件测试的成本管理
测试实施成本 |
测试准备成本、测试执行成本、测试结束成本 |
低测试实施成本 |
测试准备环境尽可能使用软件和测试环境配置自动化;测试实施尽可能采用自动化测试工具(测试用例自动化执行),人工测试最好请初级技术人员,不使用测试工程师;测试结束编制测试报告测试结果与预期结果比较采用自动化方法(测试文档编制模板化) |
质量成本要素 |
一致性成本(用于测试实施成本)、非一致性成本(由出现的问题和故障引起) 质量成本=一致性成本+非一致性成本 |
缺陷探测率DD P |
=Bugs(tester)/ (Bugs(tester)+ Bugs(customer)) 衡量测试投资回报的一个重要指标注:第116页计算题 |
35.文档测试的范围
用户文档 |
用户手册、操作手册、维护修改建议 |
开发文档 |
需求说明书、概要设计、数据库设计、详细设计、可行性研究报告 |
管理文档 |
项目开发计划、测试计划、测试报告、开发进度月报、开发总结报告 |
36.用户文档的内容
包装上的文字及图案;宣传材料、广告及其他插页;授权/注册登记表;最终用户许可协议;标签和不干胶条;安装和设置指导;用户手册;联机帮助;指南、向导;样例、示例和模板;错误提示信息;
37.用户文档测试的要点
明确读者群:根据读者群(如初级、中级、高级用户)的不同来检查文档内容,保证用户能够看得懂、能理解
术语:文档中术语的描述要适合定位的读者群,用法一致,标准定义与业界规范相吻合
文档内容的正确性:要保证所有信息是真实正确的
文档内容的完整性:要完全根据提示逐步操作,检查是否存在遗漏的地方
文档与程序的一致性:按照文档操作后,检查软件返回的结果与文档描述是否一致
文档的易用性:检查是否便于用户查找相应的内容
图表与界面截图:检查所有图表与界面截图与发布的程序版本一致
样例和示例:检查所有的样例和示例能够正确完成;
语言:中文文档保证无错别字和二义性
印刷与包装:印刷质量,包装质量
38.用户手册的测试
准确的按照手册的描述使用程序;尝试每一条建议;检查每条陈述;查找容易误导用户的内容;
39.在线帮助的测试
内容的准确性;帮助功能的可靠性;每一条索引和主题列表要逐条检查,是否能够由索引进入主题;帮助系统中的每一个超级链接;主题是否全部能够在索引中找到;帮助系统的风格应简洁;
40.功能易用性测试
业务符合性 |
程序实现的业务逻辑与实际业务逻辑是否一致; |
功能定制性 |
对软件功能应能够灵活定制 |
业务模块集成度 |
对于存在紧密关系的模块,是否方便功能转换,从一个功能进入到别一个功能 |
数据共享能力 |
对于多处使用的数据应可以一次输入多处使用,减少用户重复工作 |
约束性 |
对于流程性强的操作,应能够限制操作顺序;对非法信息应不允许进行系统 |
交互性 |
对于用户的每一次操作,应能够给出提示或回应,使用户清晰的看到系统的运行状态 |
错误提示 |
对于关键操作完成后或删除数据之前给出明确的提示信息; |
41.用户界面测试:界面整体、界面元素测试
界面整体 |
规范性测试:符合现行标准和规范 |
合理性测试:界面与软件功能是否相融洽,界面的布局是否协调 |
|
一致性测试:使用的控件、标签风格、错误提示信息、操作方法是否一致 |
|
界面定制性测试:界面元素的可定制性;工具栏的可定制性;统计检索的可定制性;报表的可定制性 |
|
界面元素 |
窗口测试:大小、显示、窗口大小改变、多个窗口同时打开、支持操作方法等 |
菜单测试:是否符合需求;措辞是否准确;顺序是否合理;图形布局是否一致 |
|
图标测试:是否符合表达习惯;不同的目标是否采用不同的图标;图标尺寸是否合适;建议与对应功能相似;图标上是否有标注 |
|
鼠标测试:交互环境中是否可以识别鼠标操作;多次点击是否识别;无规则点击是否会产生无法预料的结果;右键弹出菜单是否正确; |
|
文字测试:界面文字是否正确,准确,无二义性; |
42.硬件兼容性测试
目的 |
确认软件系统对于服务器端、客户端及网络所需的环境是否正确、合理 |
测试内容 |
最低配置是否能满足系统运行的需要;在推荐配置下系统的响应是否迅速;考察软件对运行硬件环境有无特殊说明;软件系统能否运行在多种硬件配置环境下 |
与整机兼容性 |
确认要求的最低配置和推荐配置的合理性和正确性;主要指标:机型的要求;CPU;内存;硬盘 |
与板卡及配件兼容性 |
独立板卡;主板芯片组;驱动程序中的自由软件 |
与打印机的兼容性 |
对不同厂商、不同型号的打印机进行以下测试:安装;打印测试页;调整纸张大小;选择分辨率;调整打印方向;逐页、多份打印;双面打印、网络打印 |
其他 |
红外线鼠标、键盘、扫描仪、视频软件,刻录软件的兼容性 |
43.软件兼容性
与操作系统的兼容性 |
确认软件系统是否与多种类型的操作系统兼容,包括安装、关键流程的检查;操作系统包括Windows平台、Linux平台、UNIX平台;Macintosh 图形专用软件 |
与数据库的兼容性 |
确认软件系统在不同数据库的可移植性、互操作性,对完整性、应用系统测试;性能测试;数据库包括SQL;ODBC;JDBC;ADO;OLE DB;JDO |
与中间件的兼容性 |
指对不同版本、不同补丁包的兼容性进行测试,检查应用程序是否能够正确运行,性能的变化; |
与浏览器的兼容性 |
创建一个兼容性矩阵,测试不同厂商、不同版本的浏览器对某些构件和设置的适应性;如Applets,JavaScript,ActiveX,VBScript |
与其他软件的兼容性 |
与支持软件(财务软件导出Excel)的兼容性测试;与其他同类软件的兼容性(与其他同类软件同时在机器中使用);与其他非同类软件的兼容性 |
44.数据兼容性测试
不同数据格式兼容性 |
确认软件之间能否正确地交互和共享信息,不同格式的信息是否兼容;包括系统与其他系统复制粘贴文字是否正确;旧版本信息在新版本是否能打开;新版本文件在旧系统中是否能打开;同类软件是否可以进行数据交换 |
XML符合性 |
XML能够使不同来源的结构化的数据较容易地结合在一起,提供一个描述数据和交换数据的有效手段;测试步骤:在测试工具中建立标准模板;用被测软件按要求导出数据;将导出的数据与标准模板进行对比匹配测试;输出测试结果; |
45.平台化软件兼容性测试
平台化软件概述 |
用来构建与支撑应用软件的独立软件系统;基本要素包括支撑环境(应用系统开发与运行的基本条件)和开发体系(开发与维护管理应用软件的工具与方法);分类包括技术支撑型平台和应用实现平台 |
平台化软件优点 |
应用的广泛性(各行业);良好的开发性(保证接口的统一);具有灵活性和扩展性;快捷的适应性 |
平台化软件兼容性 |
测试内容:跨硬件平台能力(不同规模硬件平台上式);跨操作系统能力;支持多种数据库系统;客户端兼容性测试;数据兼容性测试 |
46.新旧系统数据迁移测试
新旧系统数据迁移 |
数据迁移:新旧系统进行切换时,将历史数据进行清理、转换,并装载到新系统的过程; |
数据迁移的实现 |
数据迁移的准备、数据迁移的实施、数据迁移后的校验 |
数据迁移的测试 |
对旧系统到新系统、新系统到旧系统进行迁移测试;生成备份测试迁移后的数据完整可靠性; |
47.安全测试-测试内容
用户认证机制 |
用户认证机制分为数字证书(检验用户身份的电子文件)、智能卡、双重认证、安全电子交易协议(SET电子商务中安全电子交易的国际标准);测试时有必要对用户认证机制进行全面测试,评价认证机制的合理性 |
加密机制 |
对加密、解密机制进行测试,验证使用是否合理,强度是否满足当前需求;保护数据安全的重要手段 |
安全防护策略 |
安全防护策略包括安全日志、入侵检测、隔离防护、漏洞扫描,是系统对抗攻击的主要手段 |
数据备份与恢复手段 |
是一种数据安全策略,需要对备份和恢复的效果进行测试,保证实际数据的安全性 |
防病毒系统 |
基本的防病毒技术:集中式管理、分布式杀毒(以策略为中心、以服务器为中心);数据库技术、LDAP技术的应用;多引擎支持;不同操作系统的防护;远程安装或分发安装; 测试时对网络防病毒软件的选购、部署方式、策略定义进行评估和测试 |
48.安全测试-测试策略
安全系统 |
安全系统防护体系 |
由实体安全、平台安全、数据安全、通信安全、应用安全、运行安全、管理安全七层次,因此安全性测试测策针对7层进行测试和评估 |
基本安全防护系统 |
一般采用防火墙、入侵检测、漏洞扫描、安全审计、病毒防治、Web信息防篡改等基础安全技计,来保障应用系统的安全;测试时从以上方面分别进行测试 |
|
证书业务服务系统 |
包括证书认证及证书审核注册,需验证功能和性能;测试采用过程是否符合标准;证书类型是否正确;证书格式、申请、审核、下载功能是否正确;并发性、扩展性、备份 |
|
证书查询验证服务系统 |
验证功能和性能;测试查询、管理、证书信息发布、下载、更新功能;并发性、扩展性 |
|
密钥管理系统 |
验证功能和性能;测试密钥生成、发送存储、查询等基本功能,安全管理功能、系统管理功能;并发压力、最大量密钥系统的基本功能、密钥的保存期、备份; |
|
密码服务系统 |
验证功能和性能;测试加解密功能、多密码算法支持、增加功能;长度、系统速度、扩展能力 |
|
可信授权服务系统 |
集中式授权服务 验证是否具有用户管理、审核管理、资源管理、角色管理等主要功能;分布式授权服务 验证其是否有资源访问的签名授权、授权管理等功能;同时还要对系统进行并发压力测试 |
|
可信时间戳服务系统 |
验证功能和性能;测试时间来源是否正确、保存功能、签发功能;时间精度、验证时间戳请求并发性、可扩展性 |
|
网络信任域系统 |
:由通过安全审查的网络可信接入设备和网络信任域管理系统组成;验证功能和性能;接入认证交换机、限制、管理、管理配置功能;认证时间、认证接入请求数并发性、接口 |
|
故障恢复与容灾备份 |
故障恢复、数据备份、容灾备份 |
49.安全性测试方法
功能验证 |
采用黑盒测试方法,对涉及安全的软件功能进行测试 |
漏洞扫描 |
采用主机或系统漏洞扫描器自动检测远程或本机安全性弱点 |
模拟攻击试验 |
采用冒充、重演、消息篡改、服务拒绝、内部攻击、外部攻击、陷阱门、特洛伊木马方法进行测试 |
侦听技术 |
对数据进行截取分析的过程,主要用于对网络加密的验证 |
50.软件产品安全测试
侧重于用户对数据或业务功能的访问控制,数据存储和数据通信的远程安全控制
用户管理和访问控制 |
用户权限控制 |
测试用户权限分配合理性、用户名、用户密码的各项限制 |
操作系统安全性测试 |
测试是否关闭和卸载了不必要的服务和程序、是否存在不必要的账户、权限设置合理性 |
|
数据库权限的测试 |
测试用户的权限,用于存储用户和口令的表信息尽量加密,程序中是否存在默认的用户名和密码 |
|
通信加密 |
测试软件系统通信息加密情况,采用验证和侦听技术完成, |
|
安全日志测试 |
测试日志的完整性、正确性,是否提供安全日志的智能统计分析能力, |
51.网络系统全生命周期测试策略
建设生命周期 |
生命周期测试策略 |
规划设计阶段 |
利用仿真技术测试设计方案、网络设备评估,为网络选型提供依据; |
实施阶段 |
进行网络质量测试,如吞吐量、包转发率、丢包率,保证系统的可用性和稳定性,为网络应用系统开发提供基准值 |
与应用系统集成阶段 |
完成应用系统的功能和性能测试,保证运行基本稳定后,将程序应用到网络上进行网络级测试,测试并发用户访问能力、响应时间、应用对网络资源占用情况,保证应用系统在网络平台上的性能 |
52.网络测试-网络仿真技术
定义 |
是一种通过建立网络设备、链路和协议模型,并模拟网络流量的传输,从而获取网络设计或优化所需要的网络性能数据的仿真技术,也称为网络模拟技术或网络预测技术 |
|
原理 |
在计算机构造虚拟的环境反映现实的网络环境,利用数据建模和统计分析的方法模拟网络行为,从而获取特定的网络特性参数;采用基于包的建模机制来模拟实际物理网络中包的流动,包括处理、组包、拆包过程 |
|
应用 |
在网络规划中应用 |
为网络规划、设计提供可靠的定量依据;可以验证实际方案或比较多个方案 |
在企业网络管理和优化中应用 |
作为网络辅助管理工具、可以对企业业务网络通信情况进行统计找出瓶颈、可以查出业务配置的错误、可以模拟故障了解系统的处理情况、对新增业务进行性能测试、模拟访问量预测网络的承受负载 |
|
在网络研发中应用 |
构建接近于真实网络环境和业务,可以有效的模拟新协议的各种行为细节,作出公正的评判新协议的性能;对于大型通信设备制造商,可以作为其网络设备、协议以及应用开发的工具 |
|
网络预测 |
设置服务水平、完成日常网络容量规划、离线测试网络、网络失效和容量极限分析 |
|
软件 |
OPNET (OPNET公司)、NS |
53.网络性能测试
指标 |
吞吐量:指被测试设备或被测试系统在不丢包的情况下,能够达到的最大包转发速率 |
丢包率:高负载状态下由于缺少资源而未转发的包的比例 |
|
延时:系统在有负载的情况下转发数据包所需的时间 |
|
背靠背性能:通过以最大帧速率发送突发传输流,并测量无包丢失时的最大突发长度来测试缓冲区容量 |
|
TCP/IP 4~7层负载匀衡:建立连接数、会话连接数、连接数据 |
|
IP语音网络测试:测试语音、数据流包的丢失、单向延时,延时抖动 |
|
宽带XDSL网络性测试:帧测试、端到端IP测试、信元测试、PPP容量测试、ATM完整性测试 |
|
VPN网络测试:最大隧道创建数量、包丢失、延时、响应时间 |
|
路由测试:协议、路由压力性能 |
|
类型 |
可靠性测试、可接受性测试、瓶颈测试、容量规划测试、升级测试、功能/特性测试、吞吐量测试、响应时间测试、衰减测试、配置规模测试、网络设备评估测试 |
对象 |
网络平台:网络操作系统、文件服务器、工作站 |
应用层:应用程序的客户端、桌面操作系统和数据软件 |
|
子系统:路由器、集线器、交换机、网桥 |
|
全局网络路径 |
|
方法 |
网络设备:(1)放入仿真网络环境中通过分析行为进行测试(2)使用的网络测试专用设备 |
网络布线:使用工具,如网络电缆测试仪、令牌环网测试仪、以太网测试仪、光缆测试仪、企业级网络测试仪 |
|
网络协议:专用工具 |
|
网络性能:七层网络结构分析模型法、网络连接结构的分析法,客户端、网络链路、服务器端三个模块 |
|
标准 |
RFC;YD/T |
工具 |
物理线缆测试仪、网络运行模拟工具、协议分析仪、专用网络测试设备 |
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.负载压力测试基本概念
负载压力 |
指系统在某种指定软件、硬件以及网络环境下承受的流量,如并发的用户数、持续运行时间、数据量等。其中并发的用户数是负载压力的重要体现。 |
负载压力测试 |
指在一定测试约束条件 |