




已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件测试的方法和技术 2011.11,一、软件的基础知识,软件的含义,1运行时,能够提供所要求功能和性能的指令或计算机程序的集合。 2程序能够满意地处理信息的数据结构 。 3描述程序功能需求以及程序如何操作和使用所要求的文档。 以开发语言作为描述语言,可以认为: 软件=数据结构+算法,软件的组成,客户需求 - Customer Requirements 市场需求文档 - MRD (Marketing Requirement Document) 软件规格说明书 - Specifications 技术设计文档 Technical Design Docs 测试文档 Test Documents 在线帮助 - Online help 产品发布注释 - Release Notes / Read Me 产品软件包 - Release packages,其它文件: 帮助文件 Help files 示例 Samples and examples to illustrate points 产品支持文档 Product support information 错误信息 Error messages 安装手册 Setup and installation instructions 用户手册 User manual(s) 产品标签 Label and stickers 产品广告或宣传材料 Ads and marketing material,软件开发的基本过程,需求分析: 根据客户的要求,清楚了解客户需求中 的产品功能、特性、性能、界面和具体规格等,然 后进行分析,确定软件产品所能达到的目标。 设计:根据需求分析的结果,考虑如何在逻辑、程序上去实现所定义的产品功能、特性等,可以分为概要设计和详细设计,也可分为数据结构设计、软件体系结构设计、应用接口设计、模块设计、界面设计等。 编程:将设计转换成计算机可读的形式。(程序代码) 测试:对设计、编程进行验证和用户需求确认的过程 维护:维持软件运行,修改软件缺陷、增强已有功能、增加新功能、升级等。,二、软件测试的基础知识,软件测试的定义及其目的,软件测试是为了发现程序中的错误而执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计的一批测试用例(即输入数据及其输出结果),并利用这些测试用例去执行程序,以发现程序错误的过程。 软件测试的目的是想以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正错误和缺陷提高软件质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患带来的商业风险。,软件测试的流程,流程在词典上的解释是“工艺程序,从原料到制成品的各项工序安排的程序“,那么软件测试流程就是指从软件测试开始到软件测试结束经过的一系列准备、执行、分析的过程。 所以测试流程不是只存在于有完整测试团队的公司,它分布在每一个对软件执行测试的公司中,哪怕这个公司只有一个测试人员。,软件测试的工作范畴,软件测试工作范畴可以分为两个层次: 软件测试工作的组织与管理 制定测试策略、测试计划,确认所采用的测试方法与规范,控制测试进度,管理测试资源。 测试工作的实施 编制符合标准的测试文档,研制测试环境,与开发组织协作实现各阶段的测试活动。,软件测试的工作内容,1.制定测试计划 2.设计测试用例 3.搭建测试环境 4.执行测试 5.提交测试报告 6.回归测试,三、软件测试的方法和技术,软件测试的基本方法,从不同的角度出发,软件测试可以划分 从是否关心软件内部结构和具体实现的角度划分: A.白盒测试 B.黑盒测试 C.灰盒测试 从是否执行程序的角度: A.静态测试 B.动态测试 从软件开发的过程按阶段划分有: A.单元测试 B.集成测试 C.确认测试 D.验收测试 E.系统测试 F.安装测试,所谓白盒方法就是能够看清楚事物的内部,即了解事物的内部结构和运行机制,通过剖析事物的内部结构和运行机制,来处理问题。常用技术有: 语句覆盖。 判定覆盖。 条件覆盖。 判定/条件覆盖。 条件组合覆盖。 路径覆盖。 循环覆盖。,白盒测试方法,黑盒测试,也称功能测试或数据驱动测试 它不管程序内部结构是什么样的,只是从用户出发,根据产品应该实现的实际功能和已经定义好的产品规格,来验证产品所应该具有的功能是否实现,每个功能是否都能正常使用,是否满足用户的要求。,黑盒测试主要用于发现以下情况: 是否有不正确或遗漏了的功能。 在接口上,能否正确地接受输入数据,能否产生正确的输出信息;例如:查询类测试 访问外部信息是否有错; 性能上是否满足要求; 界面是否错误,是否不美观; 初始化和终止错误。,常用技术:,等价类划分法 边界值分析法 错误推测法 因果图法 功能图法,灰盒测试,灰盒测试,是介于白盒测试与黑盒测试之间的,可以这样理解,灰盒测试关注输出对于输入的正确性,同时也关注内部表现,但这种关注不象白盒那样详细、完整,只是通过一些表征性的现象、事件、标志来判断内部的运行状态,有时候输出是正确的,但内部其实已经错误了,这种情况非常多,如果每次都通过白盒测试来操作,效率会很低,因此需要采取这样的一种灰盒的方法。,静态测试就是静态分析源代码,查找错误或收集一些度量数据,不需要编译运行程序。 -人工检测:编码风格、代码质量等 -计算机辅助静态分析:变量、参数、循环,静态测试,动态测试,动态测试是通过运行软件来检验软件的动态行为和运行结果的正确性。目前,动态测试也是公司的测试工作的主要方式。,单元测试,单元测试的对象是程序系统中的最小单元-模块或组 件,在编码阶段进行,针对每个模块进行测试,主要使用白 盒测试方法,从程序的内部结构出发设计测试用例,检查程 序模块或组件已实现的功能与定义的功能是否一致,以及编 码中是否存在错误 。 单元测试一般由编程人员和测试人员共同完成,编程 人员有时起主要作用。,集成测试,集成测试,也称组装测试、联合测试、子系统测试, 在单元测试的基础上,将模块按照设计要求组装起来同 时进行测试,主要目的是发现与接口有关的模块之间的问 题。 通常有两种集成测试方式: 一次性集成方式:也称整体组装。首先把每个模块分别 进行模块测试,然后再把所有模块组装在一起进行测试,最 终得到要求的软件系统。 增值式集成方式:也称渐增式组装。首先对一个个模块进 行单元测试,然后将这些模块逐步组装成较大的系统。在组装 的过程中,一边连接一边测试,以发现连接过程中产生的问题, 最后通过增殖逐步组装为要求的软件系统。,确认测试,确认测试的目的是向未来的用户表明系统能够按照 预定要求那样工作。 确认测试也称有效性测试,验证软件的功能和性能及其 他特性是否与用户的要求一致。如果加入用户信息,也称验 收测试。基于需求规格说明书和用户信息,验证软件的功能 和性能及其他特性。 确认测试步骤如下: 进行有效性测试。有效性测试是在模拟的环境下,应用 黑盒测试的方法,验证所测试软件是否满足需求规格说明书 列出的需求。因此,需要制定测试计划、测试步骤、测试种 类、测试用例。 软件配置复查,验收测试,验收测试的目的是向未来的用户表明系统能够像预定要 求那样工作。经集成测试后,已经按照设计把所有的模块组 装成一个完整的软件系统,接口错误也已经基本排除了,接 着就应该进一步验证软件的有效性,这就是验收测试的任务 ,即软件的功能和性能如同用户所合理期待的那样,系统测试,软件开发完成以后,最终还要与系统中其他部分配套运 行,进行系统测试。系统测试是将软件放在整个计算机环境 下,包括软硬件平台、某些支持软件、数据和人员等,在实 际运行环境下进行一系列的测试,包括恢复测试、安全测试、 强度测试和性能测试等。,安装测试,安装测试是指按照软件产品安装手册或相应的文档,在 一个和用户使用该产品完全一样的环境中或相当于用户使用 的环境中,进行一步一步安装的同时所做的测试。 安装测试主要进行以下三个方面的测试: 环境的不同设置或配置 安装文档的准确性 安装的媒体制作是否有问题 也就是测试软件能不能按照安装手册正常安装使用,四、其它测试方法和技术,负载测试,负载测试(Load testing),通过测试系统在资源超负荷情况下的表现,以发现设计上的错误或验证系统的负载能力。 在这种测试中,将使测试对象承担不同的工作量,以评测和评估测试对象在不同工作量条件下的性能行为,以及持续正常运行的能力。 负载测试的目标是确定并确保系统在超出最大预期工作量的情况下仍能正常运行。 此外,负载测试还要评估性能特征。例如,响应时间、事务处理速率和其他与时间相关的方面。,随机测试,在自动化测试中,一种是按测试用例一步一步来执行测试,另外一种是完全模拟客户进行随意的操作。后一种测试称为随机测试,或称为猴子测试法。,随机测试应对用户的故意考验。用户操作很随意、乱敲乱试,回归测试,回归测试:为保证软件中新的变化不会对原有功能 的正常使用有影响而进行的测试。 回归测试的目的 : 所做的修改达到了预定的目的,如错误得到了改正,新 功能得到了实现,能够适应新的运行环境等;不影响软件原 有功能的正确性。 回归测试的方法 再测试全部用例 基于风险选择测试 基于操作剖面选择测试 再测试修改的部分 压力测试:用来检查系统在大负荷条件下的运行情况。 恢复测试:在系统崩溃、硬件故障,或者其他灾难发生之后,重新恢复系统和数据的能力测试。 安全测试:测试系统在应付非授权的内部/外部访问、故意损坏时的系统防护能力。 兼容性测试:测试在特殊的硬件/软件/操作系统/网络环境下的软件表现。,压力测试:用来检查系统在大负荷条件下的运行 情况。 恢复测试:在系统崩溃、硬件故障,或者其他灾难发生之后,重新恢复系统和数据的能力测试。 安全测试:测试系统在应付非授权的内部/外部访问、故意损坏时的系统防护能力。 兼容性测试:测试在特殊的硬件/软件/操作系统/网络环境下的软件表现。,功能测试,功能测试是基于产品规格说明书,是在已知产品所应具 有的功能,从用户角度来进行功能验证,以确认每个功能否 都能正常使用。,界面测试,用户界面的7个要素: 符合标准和规范 直观性 一致性 灵活性 舒适性 正确性 实用性,文档测试,完整:是否有遗漏和丢失? 准确:既定解决方案正确吗?目标明确吗?有没有错误? 精确:不含糊,清晰。 一致:产品功能描述是否自相矛盾?与其他功能有没有冲突? 贴切:描述功能的陈述是否必要?有没有多余信息?功能是否满足的客户要求? 合理:在特定的预算和进度下,以现有人力,物力和资源能否实现? 代码无关:是否坚持定义产品,而不是定义其所信赖的软件设计,架构和代码? 可测试性:特性能否测试?测试员建立验证操作的测试程序是否提供足够的信息?,可靠性测试,可靠性(Reliability)是产品在规定的条件下和规定的时间内完成规定功能的能力,它的概率度量称为可靠度。 软件可靠性是软件系统的固有特性之一,它表明了一个软件系统按照用户的要求和设计的目标,执行其功能的可靠程度。 软件可靠性与软件缺陷有关,也与系统输入和系统使用有关。 理论上说,可靠的软件系
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《安全知识与我同行》课件
- 2025电力维护工程师劳动合同
- 温州职业技术学院《中西医结合眼科学》2023-2024学年第一学期期末试卷
- 云南艺术学院《商业计划书写作实践》2023-2024学年第二学期期末试卷
- 2025至2031年中国智能空调节电器行业投资前景及策略咨询研究报告
- 四川中医药高等专科学校《公共事业管理概论》2023-2024学年第二学期期末试卷
- 2025至2031年中国当归油行业投资前景及策略咨询研究报告
- 武清钢围堰防腐施工方案
- 《中学探究型课程》课件
- 2025至2031年中国MP3转接头行业投资前景及策略咨询研究报告
- 欢迎上级领导莅临检查指导
- 信用修复申请书
- PKPM砖混结构抗震及其他计算全攻略
- “十四五”生物质能源发展规划
- “育鲲”轮转叶式舵机工作原理和电气控制以及故障分析
- 智力七巧板校本课程开发教案
- 陕旅版四年级下册英语全册教案及各单元知识点总结
- 最新.尔雅批判与创意思考--冯林答案
- 施工单轨吊起吊锚杆安装单轨吊梁施工安全技术措施方案
- 二年级下册数学半期检测题
- PROFORMAINVOICE模板
评论
0/150
提交评论