赞
踩
目录
软件测试:在规定条件下对程序进行操作,以发现错误,对软件质量进行评估,包括对软件形成过程的文档、数据以及程序进行测试
软件质量:软件特性的总和,软件满足规定或潜在用户需求的能力。
软件测试只是质量保证工作中的一个环节,软件质量保证与软件测试是软件质量工程的两个不同层面的工作;
质量保证:通过预防、检查与改进来保证软件质量,采用全面质量管理和过程改进的原理来开展质量保证工作,主要关注软件质量的检查与测试,主要着眼于软件开发活动的过程、步骤和产出。
软件测试:通过执行软件来,对过程中的产物(开发文档和程序)进行走查,发现问题,报告质量。
测试是程序的执行过程,目的在于发现错误;
一个好的测试用例在于发现了至今未发现的错误;
一个成功的测试是发现了 至今未发现的错误的测试;
所有的软件测试都应追溯到用户需求
应当把“尽早地和不断地进行软件测试”作为测试者的座右铭
完全测试是不可能的,测试需要终止
测试无法显示软件潜在的缺陷;
充分注意测试中的群集现象
程序员应避免检查自己的程序
尽量避免测试的随意性
程序开发过程中的各个文档、源程序
是软件开发瀑布模型的变种,主要反映测试活动与分析和设计的关系;
局限性:把测试作为编码之后的最后一个活动,需求分析等前期产生的错误直到后期的验收测试才能发现
在V模型的基础上,增加千开发阶段的同步测试,形成W模型;测试与开发同步进行,有利用尽早的发现问题。
局限性:仍把开发活动看成是从需求开始到编码结束的串行活动,只有上一阶段完成后,才可以开始下一阶段的活动,不能支持迭代,自发性以及变更调整。
在H模型中,软件测试过程活动完全独立,贯穿于整个产品的周期,与其他流程并发地进行,某个测试点准备就绪时,就可以从测试准备阶段进行到测试执行阶段;软件测试可以进行尽早的进行;软件测试可以根据被测物的不同而分层次进行
在实际工作中应灵活地运用各种模型的优点
V模型 | 强调了在整个软件项目开发中需要经历的若干个测试级别,并与每一个开发级别对应;忽略了测试的对象不应该仅仅包括程序,没有明确指出对需求、设计的测试 |
W模型 | 补充了V模型中忽略的内容,强调了测试计划等工作的先行和对系统需求和系统设计的测试;与V模型相同,没有对软件测试的流程进行说明 |
H模型 | 强调测试是独立的,只要测试准备完成,就可以执行测试 |
定义 | 又称模块测试,是针对软件设计的最小单位程序模块进行正确性检查的测试工作;可以从程序的内部结构出发设计测试用例,多个模块测试可以平行地独立进行测试 |
目的 | 发现模块内部可能存在的各种差错 |
内容 | 模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试 |
步骤 | 利用设计文档设计测试用例;创建被测模块的桩模块或驱动模块;利用被测试模块、驱动模块和桩模块来建立测试环境,进行测试 |
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.负载压力测试基本概念
负载压力 | 指系统在某种指定软件、硬件以及网络环境下承受的流量,如并发的用户数、持续运行时间、数据量等。其中并发的用户数是负载压力的重要体现。 |
负载压力测试 | 指在一定测试约束条件下,测试系统所能承受的并发用户量、运行时间、数据量,以确定系统所能承受的最大负载压力,负载压力测试是性能测试的重要组成部分 |
性能测试 | 用来保证产品发布后系统的性能能够满足用户需求,包括两种测试策略:性能评测、性能调优 |
负载测试 | 通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足性能指标的情况下,系统所能承受的最大负载量的测试 |
压力测试 | 通过逐步增加系统负载,测试系统性能的变化,并最终确定在什么负载条件下,系统性能处于失效状态,并以此来获得系统能提供的最大服务级别的测试压力测试是为了发现在什么情况下系统的性能会变得不可接受 |
并发性能测试 | 并发性能测试的过程,是一个负载测试和压力测试的过程; 逐渐增加并发用户数负载,直到系统的瓶颈或者不能接收的性能点,能过综合分析交易执行指标,资源监控指标来确定系统并发性能的过程; 并发性能测试是负载压力测试中的重要内容; 并发性能测试包括:应用在客户端性能的测试、应用在网络上性能的测试、应用在服务器端上性能的测试三个方面 |
疲劳强度测试 | 采用系统稳定运行情况下所能支持的最大并发用户数,或者日常运行用户数,持续执行一段时间业务,保证达到系统疲劳强度需求的业务量,通过综合分析交易执行指标和资源监控指标,来确定系统处理最大工作量强度性能的过程 |
大数据量测试 |
|
60.负载压力测试解决方案
并发压力过程与测试定位
二. 并发性能测试-应用服务端测试
1. 目的:模拟大量并发用户执行不同业务操作,达到实施负载压力的目的
Vuser将运行的测试脚本
用于运行脚本的负载生成器
每秒点击次数
每分钟页面数 测试服务器稳定性
每秒事务数
事务响应时间:测试在期望的事务响应时间内可以同时运行多少个Vuser,在脚本中指定要测试的事务名称以及Vuser的范围
二.并发性能测试-应用网络上性能测试
应用网络上性能测试包括:应用网络故障分析和网络应用性能监控
1. 应用网络故障分析
提供有关应用效率的统计数据
模拟用户在不同网络配置环境下的响应时间,决定应用投产的网络环境
一个分析:Agent Manager进行对所跟踪的数据的分析
会话性能概要,监控哪段网络延迟大,带宽对网络双向性能的影响,节点用于处理和用于传输的时间
服务器与客户端之间帧传输情况统计,监控到与应用相关的帧的分布,对每一个帧可以与相关的数据包关联,并且可以对帧解码
服务器与客户端之间传送包信息统计,监控包的详细信息,并且可以将包与帧及线程相关联
线程信息统计,监控线程的内容和生存周期,以及线程与数据包的关系
负载的高峰时刻,负载的平均值,高峰时刻可以与相关的线程、数据包、帧相关联
故障错误总结:应用级错误、TCP错误、IP错误、其他错误
2. 网络应用性能监控指标
探针管理器:管理配置探针,设定数据采集与上传时间,合并收集的数据;
时间服务器:对探针进行时针同步
交互界面:数据展示平台
关键特性:客户和服务器通信量,应用响应时间和资源应用的业务水平等
按会话统计传输负载:测试应用和会话级响应时间,以及自动为通过网络中每一个联网设备的每一个应用程序生成负载图
应用、会话级、事务响应时间
延迟在何处被引入网络,瓶颈在哪里
趋势分析
三.并发性能测试-应用服务器端的测试
(一) 概述
1. 对应用服务器端的测试主要包括三方面:操作系统、数据库和中间件的监控
2. 监控手段:可以采用工具自动监控,也可以使用操作系统、数据库、中间件本身提供的监控工具
3. 利用工具监控的优点
(二) 操作系统监控
操作系统的监控涉及后台重要服务器的操作系统监控,对于主流的操作系统,主要关注:内存、CPU、硬盘
监控建议:
1.磁盘管理
2.文件系统
3.内存
4.CPU
5.操作系统举例
(三) 数据库监控
1.共性的指标
2.监控建议-针对监控内存缓冲区、会话及磁盘等方面
3.数据库举例
(四) 中间件监控
1.中间件分类
2.中间件举例
四.负载压力测试解决方案-疲劳强度测试
强调长时间的考核,主要是过长时间运行系统,发现问题
1.日常强度疲劳强度测试
模拟系统的日常业务(正常情况),持续执行‘一段时间’,暴露系统的性能问题,如内存泄露、资源争用
2.高峰业务疲劳强度测试
(1) 模拟系统的高峰业务(最大业务量),持续执行‘一段时间’,暴露系统的性能问题
(2) 时间指标要满足: (1) 这段模拟时间所处理的交易量要达到系统疲劳强度需求的业务量 (2) 在这段测试周期中必须通过加大负载,以及尽可能长的测试周期来保证疲劳强度测试
五.负载压力测试解决方案-大数据量测试
1.大数据量测试类型
2.自动生成大数据量
3.大数据量管理
61.负载压力测试指标分析
主要包括客户端交易处理性能指标、服务器资源监控指标、数据库资源监控指标、Web服务器监控指标、中间件监控指标
62.负载压力测试实施
测试计划 | 分析应用程序:系统组件、系统配置、分析使用模型、分析任务分布 |
定义测试目标:以可度量的指标制定目标、确定测试时间 | |
计划方案实施 | |
检查测试目标:响应时间、最优硬件配置、可靠性、瓶颈、系统容量 | |
测试需求分析 | 采用80~20原理测试强度估算及UCML压力需求分析、任务分布图、交易混合图方法 注 第275例子 |
测试案例制定 | 测试策略:对比测试环境和真实业测试环境;测试案例:表格形式显示数据案例;测试内容:并发、疲劳、资源监控 |
测试环境、工具、数据准备 | |
测试脚本录制、编写与调试 | |
场景制定 | 创建Vuser组、配置Vuser组中的Vuser、配置Vuser运行时的设置、配置负载生成器、配置终端服务设置、配置WAN仿真设置、配置脚本 |
测试执行 | 运行场景、在执行期间查看Vuser、监视场景、 |
获取测试结果 | |
结果评估与测试报告 | 交易处理性能评估、资源占用性能评估、故障分析、数据库服务器性能问题及原因分析 |
63.软件自动化测试基本概念
定义 | 通过测试工具或其他手段,按照测试工程师的预定计划对软件产品进行自动的测试 |
优点 | 提高测试质量、提高测试效率、缩短测试工作时间、提高测试覆盖率、执行手工测试不能完成的测试任务、更好的重现软件缺陷能力、更好的利用资源、增进开发人员与测试人员的合作伙伴关系 |
缺点 | 对于定制型项目、周期短的项目不适于;业务规则复杂的对象工具很难实现;人体感观与易用性测试无法实现、不稳定的软件、涉及与物理设备交互 |
64.选择自动化测试工具
分类 | 负载压力测试工具、功能测试工具、白盒测试工具、网络测试工具、测试管理测试工具、测试辅助工具 |
应用策略 | 从功能、价格、测试工具的长期投资三个方面考虑 |
65.功能自动化测试
作用 | 帮助测试工程师自动处理测试开发到测试执行的整个过程中的问题,可以创建可修改且可复用的测试脚本,随时执行脚本,减少劳动量、提高测试效率 |
原理 | 采用录制回放的方式来模拟用户的实际操作;采用环境判断录制模式或模拟模式 |
步骤 | 创建脚本、调试脚本、执行测试、结果分析 |
66.负载压力自动化测试
作用 | 可以记录客户端的操作,模拟上百或上千虚拟用户同时操作的情景,对系统进行性能测试 |
原理 | 采用录制回放的方式来模拟用户的实际操作; |
步骤 | 协议选择、创建测试脚本、参数化测试数据、创建虚拟用户、执行测试、结果分析 |
2005-4-18
第5章 黑盒测试
1.定义
2.试图发现的错误类型
3.黑盒测试用例设计方法
1.等价类划分法
(1)划分基础:需求规格说明书中输入、输出要求
(2)等价类:某个输入域的子集合;分为有效等价类和无效等价类
(3)划分等价类原则(6条)
序号 | 输入条件(数据) | 划分等价类 |
1 | 规定了取值范围 值的个数 | 一个有效等价类 两个无效等价类 |
2 | 规定了输入值的集合 规定了“必须如何”的条件 | 一个有效等价类 一个无效等价类 |
3 | 是一个布尔量 | 一个有效等价类 一个无效等价类 |
4 | 输入数据的一组值(n个),并且程序对每一个输入值分别进行处理 | n个有效等价类 一个无效等价类 |
5 | 规定必须遵守的规则 | 一个有效等价类(符合规则) 若干个无效等价类 |
6 | 在确知已划分的等价类中,各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步地划分为更小的等价类 |
(4) 列出等价类表
在确定了等价类之后,建立等价类表,列出所有划分出的等价类
输入条件 | 有效等价类 | 无效等类 |
…… | …… | …… |
(5) 确定测试用例步骤
小结:采用等价类划分方法设计测试用例,按照划分等价类、列出等价列表、确定测试用例三个步骤完成,目标是把可能的测试用例组合缩减到仍然足以满足软件测试需求为止。
2.边界值分析法
(1) 边界类型
(2)边界值的选择方法(遵循原则)
序号 | 输入条件(数据) | 输入边界值数据 |
1 | 规定了取值范围 | 刚刚达到这个范围 刚刚超越这个范围 |
2 | 规定值的个数 | 最大个数、比最大个数大1 最小个数、比最小个数少1 |
3 | 根据规格说明书的每个输出条件,使用 原则1、2 | |
4 | 输入或输出是个有序集合 | 集合的第一个、最后一个元素 |
5 | 程序中使用一个内部数据结构 | 内部数据结构边界上的值 |
6 | 分析规格说明,找出其他可能的边界 |
(3)例子:
3.错误推测法
基本思想:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据它们选择测试用例
4.因果图法
侧重于输入条件的各种组合,各个输入情况之间的相互制约关系
从用自然语言书写的程序规格说明的描述中找出因果,通过因果图转换成判定表
通常在因果图中,用Ci 表示原因,Ei表示结果,各结点表示状态,可取值0(状态不出现) 或1(某状态出现)
从输入(原因)考虑四种约束
从输出(结果)考虑一种约束
M(屏蔽):两个结果,a为1时,b必须是0,当a为0时,b值不定
2005-4-19
5.判定表驱动法
注:判定表中贯穿条件项和动作项的一列就是一条规则;
2005-4-20
6.正交试验法
L:代表正交表,L8(27)代表7为因子数,2为因子的水平数,8为此表行的数目(试验次数)
行数为mn型的正交表中,试验次数(行数)=∑(每列水平数-1)+1
例:5个3水平因子及一个2水平因子,表示为35*21,试验次数=5*(3-1)+1*(2-1)+1=12,
即L12(35*2)
7.功能图法
从状态迁移图中选取测试用例,用节点代替状态,用弧线代替迁移,状态图就可转化成一个程序的控制流程图形式
为了把状态迁移(测试路径)的测试用例与逻辑模型(局部测试用例)的测试用例组合起来,从功能图生成实用的测试用例,在一个结构化的状态迁移(SST)中,定义3种形式的循环:顺序,选择和重复
8.场景法
采用此方法进行设计时,需要进行场景的设计,在场景中采用基本流和备选流表示经过用例的每条路径
1. 测试用例概述
2.计划测试用例的目的
3.测试设计说明
4.测试用例说明
5. 测试程序说明
测试用例设计练习:1.采用因果图方法设计测试用例
某个软件的规格说明中包含下面的要求:
第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改。但如果第一列字符不正确,则给出信息L,如果第二列字符不是数据,则给出信息M
2005-4-21
第6章 白盒测试技术
相关知识点
软件测试方法:分为两类
(1)静态测试:不要求在计算机上实际执行所测程序,主要以一些人工的模拟技术对软件进行分析和测试
(2)动态测试:通过输入一组预先按照一定的测试准则构造的实例数据动态运行程序,而达到发现程序错误的过程,特点如下:
一.概述
1. 定义
也称结构测试或逻辑驱动测试,按照程序内部的结构对程序进行测试,通过测试来检查产品内部动作是否按照设计规格说明书的规定正常进行,检查程序中的每条通路是否能按照预定要求正确工作
2. 测试内容
把测试对象看成是一个打开的盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序的所有逻辑路径进行测试,通过不同点检查程序的状态,确定实际的状态与预期的状态一致
3. 测试基本技术
(1)词法分析与语法分析
(2)静态错误分析
(3)程序插桩技术
4. 测试方法
(1)代码检查法
(2)静态结构分析法
(3)静态质量度量法
(4)逻辑覆盖法
(5)基本路径测试法
(6)域测试
(7)符号测试
(8)Z路径覆盖
5.黑盒测试与白盒测试
黑盒测试 | 白盒测试 |
不涉及程序结构 | 考查程序逻辑结构 |
用软件规格说明书生成测试用例 | 用程序结构信息生成测试用例 |
可适用于从单元测试到系统联调 | 适用于单元测试和集成测试 |
某些代码段得不到测试 | 对所有逻辑路径进行测试 |
二.白盒测试基本技术
1.词法和语法分析
(1)获取信息
(2)作用
2.静态错误分析
用于确定在源程序中是否有某类错误或‘危险’结构,包括以下几种:
对源程序的类型进行检查,为了强化检查效果,扩充一些新的数据类型,进行静态预处理程序,分析程序中的类型错误
对表达式进行分析,以发现和纠正在表达式出现的错误,如:
接口一致性是程序的静态错误分析和设计分析共同研究的题目,接口分析主要对下内容时进行一致性的分析:
3.程序插桩技术
在动态测试中,是一种基本的测试手段,有广泛的应用
主要借助向程序中插入操作,来实现测试目的的方法(即向源程序中添加一些语句(也称探测器),实现对程序语句的执行、变量的变化等情况进行检查)
在程序中的特定部位插入某些用以判断变量特性的语句,使得程序执行中这些语句得以证实,从而使程序的运行特性得到证实,我们把这些插入的语句称为断言语句。
三.白盒测试方法-静态测试
(1) 目的
通过桌面检查,代码审查和走查方式,对以下内容进行检查
(2) 代码检查方式
方式名称 | 执行人员 | 检查内容 | 检查过程 |
桌面检查 | 程序员 | 对源程序代码进行分析、检验,并补充相关的文档,发现程序中的错误 | |
代码审查 | 程序员和测试员组成的审查小组 | 通过阅读、讨论和争议,以程序进行静态分析的过程 | 第一步:小组成员提前阅读设计规格书、程序文本等相关文档 第二步:召开程序审查会,开发人员读程序,审查小组讨论、发现、解决问题 |
走查 | 程序员和测试员组成的审查小组 | 通过逻辑运行程序,发现问题 | 第一步:小组成员提前阅读设计规格书、程序文本等相关文档 第二步:利用测试用例,使程序逻辑运行,记录程序的踪迹,发现、讨论、解决问题 |
(3) 代码检查项目(采用分析技术)
根据以上检查项目,可以编制代码规则,规范和检查表等作为测试用例
(4) 编码规范
程序编写过程中必须遵守的规则,规定代码的语法格式、语法规则,如排版、注释、标识符命名、可读性、变量、函数、过程、可测性、程序效率、质量保证、代码编辑、编译、审查、代码测试、维护、宏等各方面的编码要求
(5) 代码检查规则
对程序逻辑结构检查时,所规定的规则,形成
(6) 缺陷检查表
主要包括一些容易出错的地方和在以往工作中遇到的典型错误,形成表格形式
重要性 | 审查项 | 结论 | |
文件结构 | 重要 | 头文件和定义文件的名称是否合理 |
在静态结构分析中,测试者通过使用测试工具分析程序源代码的系统结构、数据结构、数据接口、内部控制逻辑等内部结构,生成函数调用关系图、模块控制流图、内部文件调用关系图等各种图形图表,清晰地标识整个软件的组成结构,便于理解,通过分析这些图表,检查软件有没有存在缺陷或错误;包括控制流分析、数据据流分析、接口分析、表达式分析
*例子1-GIS软件:存在无法执行的死代码;有多个出口,可能没有在所有出口进行内存释放与回收,有内存泄露的可能
*例子2-MIS软件:有多个出口,存在内存泄露的可能;有10逻辑判断结点,易出现逻辑错误,降低可靠性,可能会破坏对CPU操作进行优化的处理,影响其运行性能
四. 白盒测试方法-动态测试(即设计测试用例的方法)
逻辑覆盖是通过对程序逻辑结构的遍历实现程序的覆盖
练习1:采用多条件覆盖方法,对下程序进行白盒测试用例设计
if ((a >1 )&&( b= = 0))
{
x=x/a;
}
if (( a = = 2)|| (x > 1 ))
{
x=x+1;
}
2005-4-22
第六章 白盒测试->四.白盒测试方法
图形符号图所示
是一种基于程序结构的测试方法,基于对程序输入空间(域)的分析,选择适的测试点进行测试
对循环机制进行简化,减少路径的数量,使得覆盖所有路径成为可能,简化循环意义下的路径覆盖称为Z路径覆盖
是一种错误驱动测试
错误驱动测试:指该方法是针对某类特定程序错误的,即专门测试某类错误是否存在
错误驱动测试分类:程序强变异和程序弱变异
六. 白盒测试综合策略
总结:黑盒测试与白盒测
第七章 面向对象的软件测试技术
相关知识点-面象对象(=Object Oriented)技术
一.面向对象测试模型
依据面向对象开发模型(面向对象分析、面向对象设计、面向对向编程),分为:
2005-4-25
二. 面向对象软件的测试策略
(1) 面向对象分析
是把E-R图和语义网络模型,即信息造型中的概念,与面向对象程序设计语方中的重要概念结合在一起而形成的分析方法。通常以问题空间的图表的形式进行描述
(2) 分析方法
直接映射问题空间,全面地将问题空间中实现功能的现实抽象化。将问题空间中的实例抽象为对象,用对象的结构反映问题空间的复杂实例和复杂关系,用属性和服务表示实例的特性和行为。
(3) 面向对象分析缺点
对问题空间分析抽象的不完整,会影响软件的功能实现,导致软件开发后期产生大量原本可避免的修补工作;一些冗余的对象或结构类的选定,程序的整体结构和增加程序员不必要的工作量,因此 OOA测试的重点在其完整性和冗余性
(4) OOA测试划分的五个方面
对认定的对象的测试、对认定的结构的测试、对认定的主题的测试、对定义的属性和实例关联的测试、对定义的服务和消息关联的测试
测试内容 | 概述 | 测试考虑方面 | |
认定的对象的测试 | 认定的对象:对问题空间中的结构、其他系统、设备、被记忆的事件、系统涉及的人员等实际实例的抽象 |
| |
认定的结构的测试 | 认定的结构:多种对象的组织方式,用来反映问题空间中的复杂实例和复杂关系,认定的结构分为两种:分类结构 组装结构 | 分类结构:体现问题空间中实例的一般与特殊的关系 |
|
组装结构:体现问题空间中实例的整体与局部的关系 |
| ||
认定的主题的测试 | 主题:在对象和结构的基础上更高一层的抽象,是为了提供OOA 分析结果的可见性,如同文章中各章的摘要 |
| |
对定义的属性和实例关联的测试 | 属性:用来描述对象或结构所反映的实例的特性 实例关联:反映实例集合间的映射关系 |
| |
对定义的服务和消息关联的测试 | 定义的服务:定义的每一种对象和结构在问题空间所要求的行为 消息关联:问题空间中实例之间必要的通信,需要定义相应的消息关联 |
|
(1) 面向对象设计(OOD)
采用‘造型的观点’,以OOA为基础归纳出类,并建立类结构或进一步构造类库,以实现分析结果对问题空间的抽象。OOD归纳的类即可以是对象的简单延续,也可以是不同对象的相同或相似的服务
(2) OOD与OOA
OOD是OOA的进一步细化和更高层的抽象,所以OOD、OOA的界限很难区分,OOD确定类和类结构不仅是满足当前需求分析要求,更重要是通过重新组合或加以适当的补充,方便实现功能重用和扩增。因此,对OOD的测试,建议针对功能的实现和重用以及OOA结果的分析
(3) OOD测试划分的三个方面
测试名称 | 概述 | 测试考虑方面 |
认定的类的测试 | 认定的类:可以是OOA中认定的对象,或对象所需要的服务的抽象、对象所具有的属性的抽象。认定的类尽量具有基础性,便于维护和重用 |
|
构造的类层次结构的测试 | 类层次结构:通常基于OOA中产生的分类结构的原则来组织,着重体现父类和子类一般性和特殊性,在当前问题空间中,主要要求是能在解空间中构造全部功能的结构框架 |
|
类库的支持的测试 | 类库的支持:也属于类层次结构的组织问题,但重点是再次软件开发的重用。作为高质量类层结构的评估 |
|
因为OOA、OOD阶段分析和设计的模型不能进行测试,不能被执行,所以每次迭代后要进行评审,针对两个方法:正确性、一致性 | 正确性:主要在于分析和设计模型表示所使用的符号语法是否正确,语义是否正确以及类的关联(实例间的联系)是否正确地反映了真实世界对象间的关联 | |
一致性:OOD和OOA模型(分析、设计和编码层次即类、属性、操作、消息)要一致,可以用模型内各实体之间的关联性判断;评估方法:检查每个类与其他类的连接,采用CRC(类-责任-协作者)模型和对象-关系图 CRC模型:由CRC索引卡片构成,卡片中列出类名、类的操作、以及其他协作类,类完成的责任 对象-关系图:提供了类之间连接(关系)的图形表示 | ||
评估类模型,采用步骤
| ||
创建设计模型,应对系统设计和对象设计进行复审 系统设计:描述构成产品的子系统、子系统分配到处理器的方式,类到子系统的分配;通过检查在OOA阶段开发的对象-行为模型,和映射需要的系统行为到被设计用于完成该行为的子系统来进行复审。在系统行为语境中复审并发性和任务分配,评估系统的行为状态以确定哪些行为为并发存在 对象模型:表示了每个类的细节和实现类间的协作所必须的消息序列活动;针对对象-关系网络来测试,以保证所有设计对象包含为实现每张CRC索引卡片定义的协作所必须的属性和操作 |
(1) 面向对象程序
把功能的实现分布在类中,能正确实现功能的类,通过消息传递来协同实现设计要求的功能。将出现的错误精确的确定在某一具体的类上。
(2) 测试重点
忽略类功能实现的细则,将测试的目光集中在类功能的实现和相应的面向对象程序风格上
(3) 测试方面(c++为例)
测试方面 | 概述 |
数据成员是否满足娄据封装的要求 | 数据封装:是数据和数据操作的集合 基本原则:检查数据成员是否被外界(数据成员所属的类或子类以外的调用)直接调用。当改变数据成员的结构时,是否影响了类的对外接口,是否会导致相应的外界必须改动 |
类是否实现了要求的功能 | 类所实现的功能是通过成员函数执行的,应首先保证成员函数的正确性 单独看待成员函数,可以使用面向对象单元测试方法 类成员函数间的作用和类之间的服务调用,需要进行面向对象集成测试 注:测试类的功能,不能仅满足于代码能无错地运行或被测试类所提供的功能无错,应该以所做的OOD结果为依据,检测类提供的功能是否满足设计的要求,是否有缺陷,必要时还应该参照OOA的结果,以之为最终标准 |
(1) 可以将一些传统的单元测试方法在面向对象软件的单元测试中使用,如等价类划分、因果图、边界值分析法、逻辑覆盖法、路径分析法、程序插桩法,单元测试一般建议由程序员完成
(2) 单元级测试的测试分析和测试用例,规模和难度均远小于对整个系统的测试分析和测试用例,并且对语句应该有100%的代码执行覆盖率。
(3) 设计测试用例选择输入数据的两个假设:
(4) 针对继承性,Brian Marick两方面的考虑
(1) 传统的自顶向下或自底向上的集成测试策略在面向对象软件的集成测试中无意义,OO软件的集成测试需要在整个程序编译完成后进行,面向对象程序具有动态特性,程序的控制流无法确定,只能对编译完成的程序做基于黑盒子的集成测试
(2) 面向对象软件的集成测试两种策略
(3) 测试目的
能够检测出相对独立的,单元测试无法检测出的,那些类相互作用时才会产生的错误,只关注于系统的结构和内部的相互作用
(4) 面向对象软件的集成测试过程
(1) 系统测试:需要测试它与系统其他部分配套运行的表现,以确保在系统各部分协调工作的环境下软件也能正常运行
(2) 要求:测试环境尽量与用户实际使用环境相同,保证被测系统的完整性,对暂时没有的系统设备部件,应采取相应的模拟手段。参考OOA分析结果,检测软件是否能够完全‘再现’问题空间
(3) 不仅是检测软件的整体行为表现,另一方面对软件设计开发的确认。OO软件的确认和系统测试具体的测试内容与传统的系统测试基本相同,包括:功能测试,强度测试,性能测试,安全测试,易用性测试,恢复测试,安装/卸载测试
三.OO软件测试用例设计原则(Berard)
关注于设计合适的操作序列以测试类的状态
四.OO软件测试的方法
(1) 具有较高的发现可能故障的能力
(2) 从分析模型开始,考察可能发生的故障,设计用例去执行设计和代码
(3) 可用于集成测试,发现消息联系中‘可能的故障’(可能的故障指意料之外的结果、错误地使用了操作/消息、不正确地引用等)
(4) 除用于操作测试外,还可用于属性测试,用以确定其对于不同类型的对象行为是否赋予了正确的属性值
(5) 是从客户对象(主动)上发现错误
(6) 不能发现的错误:不正确的规格说明,用户不需要的功能或缺少用户需要的功能;没有考虑子系统间的交互作用
(1) 主要关注用户需要做什么,不是产品能做什么,即从用户任务(使用用例)中找出用户要做什么及如何去执行
(2) 有助于在一个单元测试情况下检查多重系统,比基于故障的测试更实际,更复杂一点
如果一个类有多个操作(功能),这些操作(功能)序列有多种排列,这种不变化的操作序列可随机产生,用这种可随机排列来检查不同类实例的生存史,称为随机测试
(1) 可以减少用完全相同的方式检查类测试用例的数目,类似于等价类划分
(2) 分类:基于状态的分割、基于属性的分割、基于类型的分割
状态转换图(STD)可以用来帮助导出类的动态行为的测试序列,以及这些类与之合作的类的动态行为测试用例,根据状态转换图,设计出最小测试用例,加入其他测试序列到最小测试序列中,保证类所有行为被充分检查
总结:
本章主要讲述了面向对象软件的测试方法,依据面向对象软件开发模型划分面向对象测试模型,其中单元测试、集成测试、确认测试和系统测试通过与传统的单元测试、集成测试和确认测试、系统测试进行比较,得出面向对象软件的测试内容
第八章 应用负载压力测试
1.负载压力
指系统在某种指定软件、硬件以及网络环境下承受的流量,如并发的用户数、持续运行时间、数据量等。其中并发的用户数是负载压力的重要体现。
2.负载压力测试
3.性能测试
用来保证产品发布后系统的性能能够满足用户需求,包括两种测试策略:性能评测、性能调优
4.负载测试
通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足性能指标的情况下,系统所能承受的最大负载量的测试
5.压力测试
6.并发性能测试
7.疲劳强度测试
采用系统稳定运行情况下所能支持的最大并发用户数,或者日常运行用户数,持续执行一段时间业务,保证达到系统疲劳强度需求的业务量,通过综合分析交易执行指标和资源监控指标,来确定系统处理最大工作量强度性能的过程
8.大数据量测试
二.负载压力测试的目的
1.在真实环境下检测系统性能,评估系统性能以及服务等级的满足情况
2.预见系统负载压力承受力,在应用实际部署之前,评估系统性能
3.分析系统颈,优化系统
4.为企业项目的实施提供信心,帮助用户正确地进行容量规划,实现软硬件投资合理化,最终交付高质量的系统,避免项目投产失败,保证用户的投资得到相应的回报
三.负载压力测试策略
1.可以利用手工进行测试和利用自动化工具进行测试两种测试策略
2.自动化工具测试策略
四.产品生命周期中负载压力测试计划
1.在需求分析中充分关注负载压力性能
2.从设计中得到负载压力性能指标
3.开发阶段创建一个负载压力性能测试环境
五.负载压力测试的盲点
在负载压力测试时,不进行功能校验,当功能发生错误时,测试工具不能够记录产生的错误,忽略了负载压力情况下的功能不稳定问题。所以负载压力测试期间必须要进行必要的功能内容校验,即在测试过程中记录所有虚拟用户的操作,及服务器的响应,才有助于判断功能错误,这是当前负载压力测试的最大挑战
2005-4-26
第8章 应用负载压力测试-负载压力测试解决方案
并发压力过程与测试定位
二. 并发性能测试-应用服务端测试
1. 目的:模拟大量并发用户执行不同业务操作,达到实施负载压力的目的
Vuser将运行的测试脚本
用于运行脚本的负载生成器
每秒点击次数
每分钟页面数 测试服务器稳定性
每秒事务数
事务响应时间:测试在期望的事务响应时间内可以同时运行多少个Vuser,在脚本中指定要测试的事务名称以及Vuser的范围
二.并发性能测试-应用网络上性能测试
应用网络上性能测试包括:应用网络故障分析和网络应用性能监控
1. 应用网络故障分析
提供有关应用效率的统计数据
模拟用户在不同网络配置环境下的响应时间,决定应用投产的网络环境
一个分析:Agent Manager进行对所跟踪的数据的分析
会话性能概要,监控哪段网络延迟大,带宽对网络双向性能的影响,节点用于处理和用于传输的时间
服务器与客户端之间帧传输情况统计,监控到与应用相关的帧的分布,对每一个帧可以与相关的数据包关联,并且可以对帧解码
服务器与客户端之间传送包信息统计,监控包的详细信息,并且可以将包与帧及线程相关联
线程信息统计,监控线程的内容和生存周期,以及线程与数据包的关系
负载的高峰时刻,负载的平均值,高峰时刻可以与相关的线程、数据包、帧相关联
故障错误总结:应用级错误、TCP错误、IP错误、其他错误
2. 网络应用性能监控指标
探针管理器:管理配置探针,设定数据采集与上传时间,合并收集的数据;
时间服务器:对探针进行时针同步
交互界面:数据展示平台
关键特性:客户和服务器通信量,应用响应时间和资源应用的业务水平等
按会话统计传输负载:测试应用和会话级响应时间,以及自动为通过网络中每一个联网设备的每一个应用程序生成负载图
应用、会话级、事务响应时间
延迟在何处被引入网络,瓶颈在哪里
趋势分析
三.并发性能测试-应用服务器端的测试
(一) 概述
1. 对应用服务器端的测试主要包括三方面:操作系统、数据库和中间件的监控
2. 监控手段:可以采用工具自动监控,也可以使用操作系统、数据库、中间件本身提供的监控工具
3. 利用工具监控的优点
(二) 操作系统监控
操作系统的监控涉及后台重要服务器的操作系统监控,对于主流的操作系统,主要关注:内存、CPU、硬盘
监控建议:
1.磁盘管理
2.文件系统
3.内存
4.CPU
5.操作系统举例
(三) 数据库监控
1.共性的指标
2.监控建议-针对监控内存缓冲区、会话及磁盘等方面
3.数据库举例
(四) 中间件监控
1.中间件分类
2.中间件举例
四.负载压力测试解决方案-疲劳强度测试
强调长时间的考核,主要是过长时间运行系统,发现问题
1.日常强度疲劳强度测试
模拟系统的日常业务(正常情况),持续执行‘一段时间’,暴露系统的性能问题,如内存泄露、资源争用
2.高峰业务疲劳强度测试
(1) 模拟系统的高峰业务(最大业务量),持续执行‘一段时间’,暴露系统的性能问题
(2) 时间指标要满足: (1) 这段模拟时间所处理的交易量要达到系统疲劳强度需求的业务量 (2) 在这段测试周期中必须通过加大负载,以及尽可能长的测试周期来保证疲劳强度测试
五.负载压力测试解决方案-大数据量测试
1.大数据量测试类型
2.自动生成大数据量
3.大数据量管理
2005-4-27
第8章 应用负载压力测试-负载压力测试实施
负载压力测试的实施过程分为:制定测试计划→制定测试需求分析→制定测试方案→测试环境、工具、数据准备→测试脚本录制、编写与调试→场景制定→测试执行→获取测试结果→结果评估与测试报告
一. 测试计划
1.作用
2.制定步骤
步骤名称 | 内 容 |
分析应用程序 |
|
定义测试目标 |
|
计划方案实施 |
|
检查测试目标 |
1.计算机系统组成
硬件系统 | 由中央处理单元CPU(运算器、控制器)、存储器、输入设备和输出设备组成;分为单总线结构、双总线结构 |
软件系统 | 由应用软件和系统软件给成 |
2.处理机
组成 | 运算器:对数据进行加工处理的部件,主要完成算术运算和逻辑运算 |
控制器:从内存中取出指令,并指出下一条指令的存储位置 | |
功能 | 程序控制,操作控制,时间控制,数据处理 |
3.基本输入出设备
4.存储系统
存储器结构 | 高速缓存(cache),主存储器(MM)和辅助存储器(外存储器) |
分类 | 按位置分:内存(主存)、外存(辅存) 按访问方式分:按地址访问和按内容访问 按材料分:磁存储器、半导体存储器、光存储器 按寻址方式分:随机存储器和直接存储器 按工作方式分:读写存储器、只读存储器 |
相连存储器 | 是一种按内容访问的存储器,把数据或数据的一部分作为关键字,将该关键字与存储器中的每一个单比较,找出存储器中所有与关键字相关的数据字 |
高速存储器 | 组成:控制部分和cache部分 地址映象方法:直接映象、全相连映象、组相连映象 替换算法:随机替换算法,先进先出算法、近期最少使用算法、优化替换算法 性能分析:主存的访问时间/ 计算机实际访问时间 |
虚拟存储器 | 由主存、辅存、存储管理单元及操作系统中的存储管理软件组成,分类页式、段式、段页式虚拟存储器 |
外存储器 | 用来存放暂时不用的程序和数据,并且以文件的形式存储。CPU不能直接访问外存中的数据,只有将其以文件为单位调入主存方可访问;由磁表面存储器及光盘存储器构成;磁盘存储器、光盘存储器 |
磁盘阵列技术 | 由多台磁盘存储器组成的,一个快速大容量高可靠的外存子系统,常见为廉冗余磁盘阵列(RAID),RAID分为6级 |
5.操作系统的中断控制、进程管理、线程管理
中断控制
作用 | CPU可以不用等待I/O的状态,直接去处理其他业务,I/O系统使用中断信号通知CPU,CPU转入中断处理程序中,完成与I/O系统的数据交换,提交了CPU的效率 |
处理方法 | 多中断信号线法、中断软件查询法、雏菊链法、总线仲载法,中断向量表法 |
中断优先级控制 | 当不同优先级的多个中断源同时提出中断请求时,CPU应优先响应高优先级的中断源,最先响应高优先级 |
6.处理机管理,存储管理,设备管理,文件管理,作业管理
处理机管理
存储管理
对象及目的 | 对象:主存储器;目的:保存数据 | |
功能 | 主存储器的分配和回收;提高主存储器的利用率;存储保护;主存扩充 | |
分类 | 分区存储管理 | 固定分区:静态分区方式,系统生成时将主存划分大小不等的区域,易形成碎片 可变分区:动态分区方式,作业装入时划分,个数可变,大小等于作业的大小,也容易形成碎片 可重定位分区:移动所有已分配好的分区,使之成为连续的区域,有效解决磁盘碎片的问题 |
分页存储管理 | 原理:进程的地址空间划分为大小相等的区域(页),主存空间划分为与页相同大小的物理块(块或页框),为进程分配主存时,将进程中若干页分别装入多个不邻接的块中 地址结构:由页号P,偏移量W(页内地址) 页表:为保证能在主存中找到每个页面所对应的物理块,为每个进程建立一张页面映射表,简称为页表,实现从页号到物理块号的地址映射 | |
分段存储管理 | 将作业的地址空间划分为若干个段,进程的各个段可以分配到主存的不同分区中,为每个进程建立一张段映射表,实现逻辑段到物理主存区的映射 | |
段页式存储管理 | 结合分页、分段存储管理方式,将主存划分成大小相等的存储块(页框),将进程按程序的逻辑关系分为若干段,并为每个段赋予一个段名,将每个段划分成若干页,以页架为单位离散分配,利用段表和页表实现逻辑地址到物理地址的映射 | |
虚拟存储管理 | 定义:主存可以将暂时不用的页(段)调出至磁盘,有足够的空间将要访问的页(段)装入主存,系统具有的主存容量比实际主存容量大得多,称这样的存储器为虚拟存储器; 实现:请求分页系统、请求分段系统;请求段页式系统(在原存储形式上增加请求和置换功能) 特征:离散性、多次性、对换性、虚拟性 页面置换算法:最佳置换算法(将永久不用或长时间内不再访问的页置换出去)、先进先出置换算法(将最先进入主存的页置换出去)、最近最久未使用置换算法LRU(选择最上次访问以来所经历的时间最大页置换出去)、最近未用置换算法NUR(通过访问标志,将未使用过的页面置换出去,) |
设备管理
分类 | 按数据组织分类:块设备、字符设备 从资源分配角度分类:独占设备、共享设备、虚拟设备 按数据传输率分类:低速设备、中速设备、高速设备 按输入输出对象分类:人机通信和机机通信息设备 按是否可交互分类:非交设备和交互设备 |
目标 | 提高设备的利用率(提高CPU与输入输出设备之间的并行操作程度),为用户提供方便统一的界面, |
任务 | 动态地掌握并记录设备的状态、设备分配和释放、缓冲区管理、实现物理I/O设备的操作、提供设备使用的用户接口、设备的访问和控制、I/O缓冲和调度 |
软件 | 分为四层:中断处理程序、设备驱动程序、与设备无关的系统软件、用户级软件 |
文件管理
定义 | 文件 :是具有符号名的、在逻辑上具有完整意义的一组相关信息项的集合;信息项是构成文件内容的基本单位 文件系统:操作系统中实现文件统一管理的一组软件和相关数据的集合,专门负责管理和存取文件信息的软件机构。 |
文件类型 | 按性质和用途:系统文件、库文件、用户文件 按信息保存期限:临时文件、档案文件、永久文件 按保护方式:只读文件、读写文件、可执行文件、不保护文件 UNIX系统分为普通文件、目录文件、设备文件(特殊文件) 文件系统类型:FAT,Vfat,NTFS,Ext2,HPFS |
文件结构 | 逻辑结构:用户角度 分为具有结构的记录式文件(定长、可变长) 、无结构的流式文件 物理结构:存储器存储方式 分为连续结构、链接结构、索引结构 |
文件目录 | 文件控制块FCB:每个文件设置用于描述和控制文件的数据结构,包括文件名和存放文件的物理地址,包含基本信息类、存取控制信息类、使用信息类 文件目录:文件控制块的有序集合,用于文件的检索,分为一级、二级、多级目录结构 |
存取方法 | 指读写文件存储器上的一个物理块方法;包括顺序存取、直接存取、按键存取 |
存储空间管理 | 管理方法:空闲区表、位示图、空闲块链、成组链接法(UNIX系统) |
文件使用 | 文件系统通过用户给出的文件名,查出对应文件的存放位置,读出文件内容 操作系统在操作级(命令级)和编程级(系统调用和函数)向用户提供文件服务 操作级提供命令:目录管理类、文件操作类、文件管理类 编程级提供调用:创建文件、撤销文件、打开文件、关闭文件、读文件、写文件 |
文件共享 | 不同用户进程使用同一文件,常见文件链接分为硬链接和符号链接 |
文件保护 | 采用存取控制方式进行保护,涉及存取控制矩阵、存取控制表、用户权限表、密码 |
文件安全性可靠性 | 在系统级、用户级、目录级、文件级四个级别上对文件进行安全性管理 通过转储和恢复、日志文件、文件系统的一致性实现文件的可靠性 |
作业管理
定义 | 系统为完成一个用户的计算任务(或一次事务处理)所做的工作总和 |
组成 | 由程序、数据和作业说明书组成;作业说明书包括作业基本情况、作业控制、作业资源要求的描述,体现用户控制意图 |
管理 | 作业控制:采用脱机和联机两种控制方式 作业状态:提交、后备、执行、完成 作业控制块JCB:记录作业各种有关信息的登记表,是作业存在的唯一标志,包括用户名、作业名、状态标志等信息 作业后备队列:将作业控制块排列成一个或多个队列,即队列由JCB组成 |
调度 | 算法:先来先服务、短作业优先、响应比高优先、优先级调度算法、均衡调度算法 衡量指标:平均周转时间或平均带权周转时间 |
用户界面 | 定义:用户接入口或人机界面,是计算机中实现用户与计算机通信息的软件和硬件部分的总称 组成:硬件部分(输入、输出装置)、软件部分(协议、操作纵命令及处理软件) 发展阶段:控制面板式用户界面、字符用户界面、图形用户界面、新一代用户界面 |
7.网络操作系统和嵌入式操作系统基础知识
网络操作系统
功能 | 除具备基本功能外,还应有联网功能,支持网络体系结构和各种网络通信协议,提供网络互联功能,支持有效、安全可靠的数据传送 |
特征 | 硬件独立性、多用户支持、支持网络实用程序及其管理功能、多种客户端支持、提供目录服务、支持多种增值服务 |
分类 | 集中模式、客户机/服务器模式、对等模式 |
嵌入式操作系统
概念 | 运行在嵌入式智能芯片环境中,对整个智能芯片以及其控制的各种部件和装置等资源进行统一协调、调度、指挥和控制的系统软件 |
特点 | 微型化,可定制,实时性、可靠性,易移植性;与OS相比,占用空间小,执行效率高,便于个性化定制和软件固化存信 |
开发环境 | 通常配有源代码级可配置的系统模块设计、丰富的同步原语、可选择的调度算法、主存分配策略等 常见的嵌入式系统有Windows CE、Palm OS |
8.操作系统的配置
9.数据库基本原理
基本概念 | 数据库:长期存储在计算机内的,有组织的,可共享的数据的集合 | |
数据库管理系统DBMS:是一组对数据进行管理的软件,是一个可实际运行的,按照数据库方式存储、维护和向应用系统提供数据或信息支持的系统 | ||
数据库系统:是实现有组织、动态存储大量相关数据的系统,由数据库、软件、硬件和人员组成 | ||
数据库技术:是研究数据库的存储、结构、设计、管理和使用的一门学科 | ||
数据模型 | 概念 | 数据模型:对现实世界数据特征的抽象 现实世界:数据是客观存在的各类原始数据,按用户的观点对数据和信息建模 信息世界:是现实世界在人们头脑中的反映,数据库常用术语:实体、实体集、属性和码 机器世界:按计算机系统的观点建模,描述数据的常用术语:字段、记录、文件和记录码 |
三要素 | 数据结构:是所研究的对象类型的集合,是对系统静态特性的描述 数据操作:对数据库中各种对象的实例允许执行的操作及操作规则的集合 数据的约束条件:是一组完整性规则的集合 | |
E-R模型 | 实体联系模型,属于概念数据模型,采用的三个主要概念:实体、联系和属性 实体:可以区别于其他对象的“事件”或“物体”,如企业中的每个人都是一个实体,由一组特性(属性)表示 联系:分为实体内部联系和实体与实体之间的联系;两个不同实体集之间可以存在一对一、一对多、多对多的联系;两个以上不同实体集之间可以存1:1:1,1:1:n,1:m:n和r:m:n的联系;同一实体集内的各实体之间可以存在1:1,1:n,m:n的联系 属性:是实体某方面的特性,分类包括简单属性、复合属性、单值属性、多值属性、NULL属性、派生属性 E-R方法:实体-联系方法,从现实世界中抽象出实体和实体之间的联系,采用E-R图来表示数据模型 | |
层次模型 | 属于基本数据模型,采用树型结构表示数据与数据间的联系。每一个结点表示一个记录类型(实体),记录之间的联系用连线表示,除根结点以外,其他结点有且仅有一个双亲结点 特点:记录之间的联系通过指针实现,比较简单,查询效率高 缺点:只能表示1:n的联系 | |
网状模型 | 属于基本数据模型,是层次模型的一个特例,去掉了层次模型的两个限制,允许两个结点之间有多种联系。每一个结点表示一个记录类型(实体)。 特点:能更为直接的描述现实世界,具有良好的性能,存取效率高 缺点:结构复杂 | |
关系模型 | 属于基本数据模型,由若干个关系模式组成的集合 |
功能 | 数据定义、数据库操作、数据库运行管理、数据组织、存储和管理、数据库的建立和维护、与其他软件系统的通信功能,不同DBMS之间的转换功能 |
特征 | 数据结构化且统一管理、有较高的数据独立性、数据控制功能(安全性保护、完整性、并发控制、故障恢复) |
网络分类 按通信距离分 - 广域网、局域网、城域网
按信息交换方式分 - 电路交换网、分组交换网、综合交换网
按网络拓扑结构分 - 星形、树形、环形、总线型
按通信介质分 - 双绞线网、同轴电缆网、光纤网、卫星网
按传输带宽分 - 基带网、宽带网
按使用范围分 - 公用网、专用网
按速率分 - 高速网、中速网、低速网
按通信传播方式分 - 广播式、点到点式
体系结构 采用ISO/OSI网络体系结构,OSI参考模型从低到高为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层;
1~3层:负责通信功能,为通信子层
5~7层:资源子网层
网络协议
局域网协议 | LAN模型:将数据链路层分为介质访问控制层(MAC)、逻辑链接控制层(LLC) 以太网(IEEE802.3标准):采用CSMA/CD访问协议 令牌环网(IEEE802.5标准):采用介质访问控制,编码方式差分曼彻斯特编码 FDDI(光纤分布式数据接口):使用同轴电缆或双绞线,编码方式曼彻斯特编码 |
广域网协议 | 点对点(PPP):主要用于拔号上网连接模式, 数字用户线x DSL: 数字专线DDN:数字数据网,采用数字传输信道传输数据信号的通信网 综合业务数字网:建立在数字电话网络基础上的网络,提供端到端的数字连接,将声音、数据、图像等不同业务综合在一个网络内进行传送和处理 帧中继FR:在用户网络接口之间提供用户信息流的双向传送,并保持顺序不变的一种承载业务。 异步传输模式ATM:是一种面向分组的快速分组交换模式,使用异步时分复用技术,将信息流分割成固定长度的信元,ATM参考模型为分用户层、ATM适配层、ATM层和物理层 X.25协议:是在公用数据网上以分组方式进行操作的DTE(数据终端设备)和DCE(数据通信设备)之间的接口 |
Internet协议 | TCP/IP为Internet的核心协议 TCP/IP分层模型:(低到高)网络接口层(数据链路层)、网际层、传输层、应用层 网络接口层协议:只提供接口规范 网际层协议-IP(网际)协议、ICMP(Internet控制协议)协议、ARP(地址解析IP->物理地址)协议、RARP(反地址解析物理地址->IP)协议 传输层协议-TCP(传输控制)协议、UDP(用户数据报)协议 应用层协议:NFS、Telnet、SMTP、DNS、SNMP、FTP |
网络传输介质互联设备 | 网络线路与用户节点链接:T型头、收发器、RJ-45接口、调制解调器 |
物理层的互联设备 | 中继器:实现局域网网段互联,适用于连接相同的局域网段 集线器:一种特殊的多路中继器, |
数据链路层的互联设备 | 网桥:工作于MAC子层,两个网络MAC子层以上的协议相同,都可以用网桥互联 交换机:采用端口交换、帧交换、信元交换三种交换技术 |
网络层互联设备 | 路由器:互连的网络低两层协议可以不同 |
应用层互联设备 | 网关:连接不同类型而协议差别又较大的网络 |
Internet地址 | 域名格式:用户所在的主机名或地址,由四部组成 主机名.本地名.组名.最高层域名 IP地址格式:32位 由4个小于256的数字组成,分为A(000~127),B(128~191),C(192~223),D(224~239),E(240~255)五类 |
Internet服务 | DNS域名服务:提供域名地址与IP地址的映射变换,采用客户机/服务器模式,由解析器和域名服务器组成 TELNET远程登录服务:在Telnet协议支持下,将用户端与远程主机相连,采用客户机/服务器模式,由客户软件、服务器软件及Telnet通信协议组成; E-mail电子邮件服务:利用计算机进行信息交换的电子媒体信息,基于客户机/服务器模式,由E-mail客户软件、E-mail服务器和通信协议(SMTP、POP)组成 WWW服务:一种交互式图形界面的Internet服务,具有强大的信息连接功能的多媒体信息服务系统,基于客户机/服务器模式,提供超文本传输协议HTTP,由Web服务器、浏览器和HTTP通信协议等组成;URL统一资源定位器 FTP文件传输服务:在计算机之间传输文件,采用客户机/服务器模式,由客户软件、服务器软件和FTP通信协议组成,建立控制连接、数据连接 Gopher:将Internet上的信息组织成某种索引,采用客户机/服务器模式, |
网络安全 | 定义:保护计算机、网络系统的硬件、软件以及系统中的数据,不因偶然的或恶意的原因而遭到破坏、更改或泄露,确保系统能连续和可靠地运行,使网络服务不中断 |
涉及内容:运行系统的安全、信息系统的安全、信息传播的安全、信息内容的安全 | |
信息系统对安全的基本需求:保密性、完整性、可用性、可核查性 | |
安全威胁:物理威胁、网络攻击、身份鉴别、编程威胁、系统漏洞 | |
网络的信息安全 | 信息的存储安全:使用的安全(用户的标识、存取权限限制、安全问题追踪),计算机防病毒防治,系统安全监控,数据的加密,防止非法的攻击等内容 |
信息的传输安全:链路加密,节点加密,端-端加密 | |
防火墙技术 | 分类:包过滤型防火墙、应用代理网关防火墙,状态检测技术防火墙 |
体系结构:一般由过滤路由器和代理服务器组成;典型防火墙由过滤路由器,双宿主主机,被屏蔽主机以及被屏蔽子网 |
意义:在经济、技术、科学及管理等社会实践中,以改进产品、过程和服务的适用性,防止贸易壁垒,促进技术合作,促进最大社会效益为目的,对重复性事物和概念通过制定、发布和实施标准,达到统一,获得最佳秩序和社会效益的过程
发展:
机构:标准化技术委员会是制定国家标准和行业标准的一种重要组织形式,它是一定专业领域内从事全国性标准化工作的技术工作组织。
国际标准:由国际标准化组织(ISO)、国际电气委员会(IEC)所制定的标准,在世界范围内使用,各国可以自愿采用,不强制使用
国家标准:由政府或国家级的机构制定或批准的、适用于全国范围的标准,是一个国家标准体系的主体和基础,国内各级标准必须服从且不得与之相抵触,常见:中华人民共和国国家标准GB、美国标准、英国标准、日本工业标准
行业标准:由行业机构、学术团体或国防机构制定,并适用于某个业务领域的标准,常见IEEE,中国GJB
企业标准:由企业或公司批准、发布的标准
我国标准分为国家、行业、地方、企业四类标准
按适用范围 | 国际、国家、行业、企业标准 |
按性质分类 | 技术、管理、工作标准 |
按标准化对象 | 基础标准、产品标准、方法、安全、卫生、环境保护、服务标准 |
按法律约束 | 强制性约束、推荐性标准 |
计算机安全:指计算机资产的安全,要保证这些计算机资产不受自然和人为的有害因素的威胁和危害;计算机资产由系统资源和信息资源组成
信息安全基本要素:机密性、完整性、可用性、可控性、可审查性
计算机安全等级:技术安全性、管理安全性、政策法律安全性
定义:是一种程序,编制或者在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用并且能够自我复制的一组计算机指令或者程序代码,并具有这样的特性:可以修改别的程序,使得被修改的程序也具有这种特性
特点:寄生性、隐藏性、非法性、传染性、破坏性
类型:系统引导型病毒、文件外壳型病毒、混合型病毒、目录型病毒、宏病毒
繁衍方式:变种、病毒程序加密、多形性病毒、伪装
防治:人工预防(修改程序)、软件预防、管理预防(建立法律制度、教育管理、建立计算机系统管理制度)
加密技术:两个元素 算法、密钥
过程:对原来为明文的文件或数据按某种加密算法进行处理,使其成为不可读的一段代码(密文)
分类:对称加密技术、不对称型加密、不可逆加密三类
信息化:是指社会经济的发展从以物质与能量为经济结构的重心,向以信息与知识为经济结构的重心转变的过程。在这个过程中,不断地采用现代信息技术装备国民经济各部门和社会各领域,从而极大地提高社会劳动生产力。
知识产权
定义 | 指民事权利主体(公民、法人)基于创造性的智力成果而享有的权利 |
分类 | 工业产权和著作权 著作权:指作者对其创作的作品享有的人身权和财产权;人身权包括发表权、署名权、修改权和保护作品完整权财产权包括使用权和获得报酬权 |
特点 | 无形性(智力创造成果) 双重性(具有财产权和人身权) 确认性(依法审查确认得到法律保护) 独占性(专用权具有独占性) 地域性(在本国授予、的产权在本国有效) 时间性(具有保护期限) |
法规 | 《中华人民共和国著作权法》、《…专利法》、《…继承法》《…公司法》、《…合同法》、《…商标法》、《…产品质量法》 《…反不正当竞争法》、《…刑法》、《…计算机信息系统安全保护条例》、《…计算机软件保护条件》、《…著作权法实施条例》 |
软件著作权
主体 | 享有著作权的人,包括公民、法人和其他组织 |
客体 | 指著作权法保护的计算机软件著作权的范围(受保护的对象),计算机软件指计算机程序及其有关文档 |
条件 | 独立创作:受保护的软件必须由开发者独立开发,任何复制和抄袭他人开发的软件不能获得著作权 可被感知:受保护的作品应当是作者创作思想在固定载体上的一种实际表达 逻辑合理:受保护的软件必须具备合理的逻辑思想 |
权利 | 人身权:享有发表权和开发者身份权(署名权) 财产权:享有控制和支配,并能够为权利人带来一定经济效益的权利,包括使用权、复制权、修改权、发行权、翻译权、注释权、信息网络传播权、出租权、使用许可权和获得报酬权、转让权 |
定义 | 指应用计算机科学、数据及管理科学等原理,以工程化的原则和方法来解决软件问题的工程。 |
目的 | 指高软件生产率,提高软件质量,降低软件成本 |
生存周期 | 由软件定义(系统分析、项目计划、需求分析)、软件开发(设计、编码、测试)、软件维护三个阶段组成 |
任务 | 确定软件系统的综合要求 导出系统的逻辑模型 如有必要,可开发一个原型系统 分析软件系统的数据要求 修正项目开发计划 |
方法 | 结构化分析方法SA:面向数据流的分析方法,自顶向下逐层分解,分析结果包括 数据流图DFD:用来描述数据流从输入到输出的变换流程, 数据字典:为数据流图中每个数据流、文件、加工以及组成数据流或文件的数据项作出说明 小数明:对加工进一步进行描述,描述方法结构化语言、判定表、判定树 补充材料 |
30.软件组件设计
31.软件编码
32.软件测试
33.软件维护
34.结构化开发方法
35.面相对象开发方法
36.瀑布模型
37.快速原形模型
38.螺旋模型
39.软件质量及软件质量管理概念
40.软件质量管理体系
41.软件质量管理的目标,内容,方法和技术
42.软件过程管理概念
43.软件过程改进
44.软件能力成熟度模型
45.软件配置管理的意义
46.软件配置管理的过程,方法和技术
47.风险管理
48.风险防范及应付
49.软件工程术语
50.计算机软件开发规范
51.计算机软件产品开发文件编制指南
52.计算机软件需求规范说明编制指南
53.计算机软件测试文件编制规范
54.计算机软件配置管理计划规范
55.计算机软件质量保证计划规范
56.数据流图,程序流程图,系统流程图,程序网络图,和系统资源图得文件编制符号及约定
57.软件评测师职业特点与岗位职责
58.软件评测师行为准测与职业道德要求
59.软件评测师得能力要求
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。