如何做游戏开发发除了源代码,还有哪些资料需要保密

第一部分:软件评测知识

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

在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完整性测试

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

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

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

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

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

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

网络设备:(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  输入说明:列举执行测试用例的所有输入内容或者条件

l  输出说明:描述进行测试用例预期的结果

l  环境要求:执行测试用例的软件、硬件、测试工具及人员等要求

l  特殊要求:描述执行测试用例的特殊要求

l  用例之间的依赖性:注明与其分用例的依赖关系或受其他用例的影响

(1)      定义:明确指出为实现相关

参考资料

 

随机推荐