ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:149.06KB ,
资源ID:27494862      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/27494862.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(软件测试基础知识.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

软件测试基础知识.docx

1、软件测试基础知识第一章 测试基础软件测试的定义:使用人工和自动的手段来运行或测试某个系统的过程。其目的是检验它是否满足规定的需求或弄清预期结果与实际结果间的差别。软件测试的目的:证明 检测 预防证明:1) 获取系统在可接受风险范围内可用的信心2) 尝试在非正常情况和条件下的功能和特性3) 保证一个工作产品是完整的且可用或可被集成的检测:1) 发现缺陷,错误和系统不足2) 定义系统能力和局限性3) 提供组件、工作产品和系统的质量信息预防:1) 通过将测试活动提前介入到软件生命周期中,尽早的发现并消除前期研发阶段引入的缺陷,以防止前期缺陷遗留并放大到后续环节2) 通过对发现的缺陷进行分析,找出导致

2、这些缺陷产生的流程上的不足,通过改进流程,预防同类缺陷再次产生软件生命周期:计划-需求分析-概要设计-详细设计-编码-测试-运行维护1) 计划:SDP (软件研发计划) UTP(单元测试计划)SVVP(软件验证与确认计划) ITP (集成测试计划) STP (系统测试计划)2) 需求分析:SRS(软件需求规格说明)根据研发类型,需求来源,则用户针对的具体对象分为两种:针对产品的与针对项目的3) 设计:HLD(High Level Design概要设计)LLD(Low Level Design 详细设计)4) 编码:写成以某个程序设计语言表示的源程序清单,使用RDBMS(Relational D

3、atabase Management System 关系型数据库管理系统)工具建立数据库。5) 测试:检验软件是否符合客户需求,达到质量要求。按测试阶段分 单元测试(UT) 集成测试(IT) 系统测试(ST)最先介入,最晚结束6) 运行维护:将软件交付用户投入正式使用,以后便进入维护阶段,可能有多种原因需要对其进行修改,如软件错误、系统软件升级、增强软件功能、提高性能等。软件研发的相关要素:人员 过程 工具 1) 人员组成分析人员设计人员开发人员测试人员配置管理人员(CMO,SCM)SQA(软件质量保证)2) 组架构 软件研发流程:常见的软件研发流程:瀑布模型,螺旋模型,RUP流程,IPD流程

4、软件缺陷和BUG(包括错误和不足):缺陷的引入是随时的,不确定的。缺陷可以归结为三类:遗漏、错误、额外的实现。附录:1) SDP: Software Develop Plan软件研发计划2) SVVP: Software Verification and Validation Plan软件验证与生效计划 第二章 测试过程划分为三阶段:单元测试(Unit Testing)集成测试(Integration Testing)系统测试(System Testing)*确认测试(Validation Testing) a) UT:针对软件基本组成单元目的:检验软件模块对详细设计说明书的符合程度。UT 面

5、向过程:函数面向对象:类 属性 方法b) IT:针对组装后功能及模块间接口是否正确目的:检验软件模块对概要设计说明书的符合程度。c) ST:针对硬件、外设、某些支持软件、数据和人员等目的:检验对软件需求规格说明书的符合程度。d) VT:纯系统测试,介于IT与ST之间若该软件包括硬件外设等,则VT相当于IT。若该软件为纯系统软件,则VT相当于ST。UT,IT,ST的比较UTITST测试方法白盒(某些情况下也可用黑盒测试)灰盒黑盒(某些情况下也可用白盒测试)考察范围数据结构、逻辑控制、异常处理模块间接口组合后的功能系统相对于需求的符合程度评估标准逻辑覆盖率方法:TDD(测试驱动开发)接口覆盖率方法

6、:1.每个接口被覆盖的程度 2.每个接口的等价类、边界值被覆盖的程度测试用例对需求项的覆盖程度方法:1. 等价类两两组合2. 边界值分析3. 业务流程法4. 状态迁移法5. 错误猜测法6. 输出域覆盖回归测试(Regression Testing)目的:验证缺陷得到正确的修复,同时对系统的修复没有影响以前的功能。*回归测试可以发生在任何一个阶段1) 回归测试流程a. 制定策略b. 确定版本c. 按策略执行测试d. 验收 通过:则关闭缺陷跟踪单 不通过:返回缺陷跟踪单,开发人员重新修改,再次提交2) 回归测试策略a. 完全重复测试 覆盖修改法b. 选择性重复测试 周边影响法:比a更充分。难点:如

7、何选取用例 指标达成法:选择一个最小的测试用例集合风险识别法:选择重要级别高的用例3) 回归测试自动化a. 程序自动化: 功能测试自动化b. 自动配置:Builder 、ANT/NANT 、BVTc. 测试用例、结果自动化:测试管理工具QTP、Robot(基于GUI)d. 利用脚本语言:TCL、Python、Perle. 专用测试工具:f. 尽早考虑(可继承、推广):其他测试阶段(针对用户):1) 验收测试项目型验收依据:合同、需求规格说明书、验收测试计划2) 测试测试 产品型测试 测试是用户在开发环境下,开发者或测试人员在用户旁,记录错误情况等,环境是受控的。目的在于评价软件的FLURPS(

8、即功能、局域化、可用性、可靠性、性能和技术支持) 测试是在实际使用环境下,开发者及测试人员不在测试现场。 测试是产品正式发型的候选版,可能会是以后发行的正式版。第三章 软件质量软件质量的定义:实体(被测试系统)基于某些特性满足需求的程度。实体 特性 需求1) 实体:软件被测对象2) 特性:基于ISO9126分析SRS得出测试内容,分析测试内容的两种主要方法:a. ISO 9126分析方法 优点:国际标准b. 测试类型分析方法 缺点:无标准,实际应用中需要企业根据自身行业特点定义测试类型*相同点:成功经验复用,二者存在对应关系3) 需求:质量三个层次a. 符合需求规格(内部要求)b. 用户显示需

9、求(外部要求)c. 用户隐式需求(使用要求)4) 质量铁三角:过程 技术 组织软件质量管理体系质量管理理论:第一阶段:检验质量管理第二阶段:统计质量控制TC质量评价(通过质量统计学得出)100%TCs/页SRS需求覆盖Defects/TC (每用例缺陷数)第三阶段:全面质量管理测试前期发现严重缺陷数占总发现严重缺陷数比例通过用例发现缺陷数占总发现缺陷数比例流行的质量管理体系1) ISOa. 三个核心ISO9000 管理理念和原则Iso9001 组织质量管理体系必须履行的的要求做了明确的规定ISO9004 组织持续改进的指南标准b. 八项质量原则以顾客为中心 *发挥领导作用全员参与过程方法管理的

10、系统方法持续改进基于事实的决策方法 *互利的供方关系2) CMM/CMMI(Capability Maturity Model)能力成熟度模型a. 起源:美国国防部委托立项 美国软件工程研究所(SEI)提出的模型用来:评估软件承包商能力 协助组织改进过程、提高过程能力b. 必要性业界的实施标准业界的交流语言中国企业获取国际订单的门槛向下采购的保障降低软件生产风险的有力手段c. 特点及各级概要初始级:不可预测的、无序的、混乱的。可重复级:有纪律的,经验复用已定义级:标准的、一致的已管理级:可预测的优化级:不断改进的3) 六西格玛软件质量模型:质量模型:一组特性及特性之间的关系,它提供规定质量需求

11、和评价质量的基础第四章 测试方法UT阶段的工作开发人员编码编译(测试)编码规则检查(测试)注释率检查(保证充分注释,计算方法:注释行数/(代码行数+注释行数)代码走读(测试)UT执行编码规则:1) 变量命名规则 如:gcount 全局变量,pcount 指针变量2) If(x=1)应写成if (1=x)避免类似将if(x=1)错写成if(x=1)UT计划、UT设计、UT实现IT阶段工作例如:测试通信协议栈层4层3层2物理层层内集成层间集成IT计划、IT设计、IT实现ST阶段工作ST计划、ST设计、ST实现搭建测试环境执行黑盒、白盒例子1 测试工程师 VS 医生2 自动售货机总结:两部分信息都是

12、做好测试需要的使用黑盒测试方法需要了解软件的外部特性(如何使用)使用白盒测试方法需要了解软件的内部构造和工作原理针对不同产品如何测试杯子:信息 外部:外观、漏水、容量、使用者黑盒 内部:材质、制造过程白盒白盒测试方法的好处1) 能对代码进行覆盖2) 能有针对性的进行测试3) 发现及解决BUG的成本较低控制流分析:测试代码执行顺序主要了解如何画控制流图(代码流程图)代码(检查代码执行顺序控制流图-控制流矩阵二维数组a66:a00=1有无错误) 后一语句前一结点123456210000030100004001001500010060000107000100数据流分析:测试变量的使用数据流表:列出每

13、个语句变量的使用 包括变量的赋值(定义)和引用a=b+c; 赋值a,引用b,cif(x=5); 引用xa=a+b+c; 赋值a,引用a,b,c 根据代码得到数据流表,分析数据流表找到以下错误:1) 变量未定义但被引用;2) 变量定义但未被引用;代码优化:结构优化(可读性):1个函数2个函数效率优化(时间、空间):1)时间:高斯算法 2)空间:可移植性优化:软件OS软件OSA(操作系统抽象)OS信息流分析:语句与变量的对应其他测试方法逻辑覆盖、语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、路径覆盖、。一般通过工具来进行检查借助插装技术(程序插装:在程序中插入一些打印语句等)3个语句构成 ifels

14、e y=5 语句覆盖 y=0有1个 if.else 判定语句 判定覆盖 x=1 条件条件覆盖if(x=1) y=5;else y=0;插装test.c 覆盖工具 testol.c (testol.exe)白盒测试难点1) 看懂LLD,能读懂代码2) 编写测试代码黑盒测试(无针对性)两者相对应质量特性:反映软件质量的不同方面,从不同角度度量软件质量测试:从不同角度检测软件质量灰盒测试黑盒(外部、整体的信息) 白盒(内部、细节的信息) 灰盒(两者都有)例子:IE 网站灰盒网页能否打开网页上功能的使用网页打开原理(IE、网站之间的数据)静态、动态代码编译(检查语法错误):静态编码规则检查:静态注释率

15、统计:静态走读代码:静态UT执行:动态例子: OsCommerce 开源的电子商务网站 测试:注册功能测试要求网站必须运行:动态 直接读代码来测试不要求网站运行:静态静态测试:不运行被测试的软件系统,而是采用其他手段和技术对被测试软件进行检测的一种测试技术。(分为手工和自动)静态分析技术静态测试的三个方面:检查代码、检查文档、检查代码和文档的一致性(codeLLD)手工静态测试同行评审:读文档、读代码例子:如函数:检查所有定义的变量是否立即初始化。自动化静态分析:静态验证、语法分析器、符号执行器动态分析技术常用:路径测试、分之测试、性能测试1) 覆盖率统计:UT执行(覆盖率统计工具)2) 跟踪

16、:针对不好测试的一段代码通过设置断点使用单步运行的方式检查变量内存调试:定位错误、解决错误3) 调整:内存、CPU占用,特别是检查是否有资源(内存)泄露4) 模拟5) 断言:例子: x=1; .Assert(x=8);断言语句,当程序运行至此处时,X应等于8,若不等于,则报错。人工、自动化测试相关活动1) 标识:标识测试范围对人的经验要求较高,一般由测试经理完成。考虑内容:时间、人力2) 设计:设计测试用例方法:等价类、语句覆盖等,方法的使用比较灵活3) 建立:建立测试环境,包括硬件和软件例子:4) 执行:执行测试用例(按照测试步骤)5) 相同:通过不同:提BUG检查:检查测试结果输入(用例)

17、被测试软件实际输出比较预期输出 适合自动化的活动:自动化测试执行、自动化测试检查、自动化环境建立自动化测试的意义1) 提高回归测试效率a) 对BUG修复的验证b) 在软件版本发布前(版本测试):查看之前的用例是否能通过迭代开发 例子:通话短信上网MP42) 运行更多更频繁的测试例子:冒烟测试:硬件通电 如冒烟则说明根本无法使用 软件如基本功能无法使用,说明软件质量很差每日构建(Daily Build):要求开发人员下班前将代码放入服务器,半夜时服务器会自动对最新的代码进行编译。如果编译通过则进行冒烟测试。(出报告)3) 可进行大量重复及集成操作例子:银行系统,测试查询时间,则利用工具注入一亿条

18、数据4) 更好地利用资源5) 测试具有一致性和可重复性人工的介入会有不确定因素(会造成不可重现的BUG),而自动化不会6) 复用性:即函数化,脚本的复用7) 减少软件发布的时间:提高效率8) 增加软件信任度:提高测试质量自动化测试的限制1) 只能提高效率,但不能提高有效性2) 没有手工测试发现的缺陷多例子:路由器路线(Add、Del、Show) 3) 依赖测试设计,设计不好会遗漏问题4) 依赖开发,开发的变更可能导致前面的测试完全失效自动化测试引入的时机:只有当软件比较稳定的情况下才引入5) 非智能自动化测试的误区1) 用自动化取代手工2) 缺乏测试经验,则由手工转为自动化3) 期望自动化发现大量缺陷4) 安全性错觉*手工测试是自动化测试的一个基础

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1