常用软件测试方法介绍

上传人:pu****.1 文档编号:562725043 上传时间:2022-09-06 格式:DOCX 页数:13 大小:27.85KB
返回 下载 相关 举报
常用软件测试方法介绍_第1页
第1页 / 共13页
常用软件测试方法介绍_第2页
第2页 / 共13页
常用软件测试方法介绍_第3页
第3页 / 共13页
常用软件测试方法介绍_第4页
第4页 / 共13页
常用软件测试方法介绍_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《常用软件测试方法介绍》由会员分享,可在线阅读,更多相关《常用软件测试方法介绍(13页珍藏版)》请在金锄头文库上搜索。

1、常用软件测试方法介绍1. 从是否关心软件内部构造和具体实现的角度划分:机器测试1.1. 黑盒测试黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作 一个不能翻开的黑盒子,在完全不考虑程序内部构造和内部特性的情况下,在程序接口进展测试, 它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而 产生正确的输出信息。黑盒测试着眼于程序外部构造,不考虑内部逻辑构造,主要针对软件界面 和软件功能进展测试。黑盒测试是以用户的角度,从输入数据和输出数据的对应关系出发进展测试的,很明显,如果本 身设计有问题或者说明规格有错误,用黑盒测试是发现不

2、了的。黑盒测试的优点有:(1) .比拟简单,不需要了解程序内部的代码及实现;(2) .与软件的内部实现无关;从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;(4).基于软件开发文档,所以也能知道软件实现了文档中的哪些功能; 在做软件自动化测试时较为方便。黑盒测试的缺点有:(1)不可能覆盖所有的代码,覆盖率较低,大概只能到达总代码量的30%;(2)自动化测试的复用性较低。黑盒测试法注重于测试软件的功能需求,主要试图发现以下几类错误。功能不正确或遗漏;界面错误;输入和输出错误;数据库访问错误;性能错误;初始化和终止错误等。从理论上讲,黑盒测试只有采用穷举输入测试,把所有可能的输入

3、都作为测试情况考虑,才能查 出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要 对那些不合法但可能的输入进展测试。这样看来,完全测试是不可能的,所以我们要进展有针对 性的测试,通过制定测试案例指导测试的实施,保证软件测试有组织、按步骤,以及有方案地进 展。黑盒测试行为必须能够加以量化,才能真正保证软件质量,而测试用例就是将测试行为具体 量化的方法之一。具体的黑盒测试用例设计方法包括等价类划分法、边界值分析法、错误推测法、 因果图法、判定表驱动法、正交试验设计法、功能图法等。1.2. 白盒测试白盒测试也称构造测试或逻辑驱动测试,它是按照程序内部的构造测试程序,通

4、过测试来检测产 品内部动作是否按照设计规格说明书的规定正常进展,检验程序中的每条通路是否都能按预定要 求正确工作。这一方法是把测试对象看作一个翻开的盒子,测试人员依据程序内部逻辑构造相 关信息,设计或选择测试用例,对程序所有逻辑路径进展测试,通过在不同点检查程序的状态, 确定实际的状态是否与预期的状态一致。白盒测试的测试方法有代码检查法、静态构造分析法、静态质量度量法、逻辑覆盖法、根本路径 测试法、域测试、符号测试、Z路径覆盖、程序变异。白盒测试的实施步骤1测试方案阶段:根据需求说明书,制定测试进度。2测试设计阶段:依据程序设计说明书,按照一定标准化的方法进展软件构造划分和设计测 试用例。3测

5、试执行阶段:输入测试用例,得到测试结果。4测试总结阶段:比照测试的结果和代码的预期结果,分析错误原因,找到并解决错误。白盒测试的优点迫使测试人员去仔细思考软件的实现;可以检测代码中的每条分支和路径;提醒隐藏在代码中的错误;对代码的测试比拟彻底;最优化;白盒测试的缺点:无法检测代码中遗漏的路径和数据敏感性错误;不验证规格的正确性;13灰盒测试灰盒测试,是介于白盒测试与黑盒测试之间的,可以这样理解,灰盒测试关注输出对于输入的正 确性,同时也关注内部表现,但这种关注不象白盒那样详细、完整,只是通过一些表征性的现象、 事件、标志来判断内部的运行状态,有时候输出是正确的,但内部其实已经错误了,这种情况非

6、 常多,如果每次都通过白盒测试来操作,效率会很低,因此需要采取这样的一种灰盒的方法。2从软件开发的过程按阶段划分有测试流程2.1单元测试单元测试un it test in g,是指对软件中的最小可测试单元进展检查和验证。对于单元测试中单 元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java 里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定 的最小的被测功能模块。单元测试是在软件开发过程中要进展的最低级别的测试活动,软件的独 立单元将在与程序的其他局部相隔离的情况下进展测试。22集成测试集成测试,也叫组装测试或联合测试。在单元

7、测试的根底上,将所有模块按照设计要求如根据 构造图组装成为子系统或系统,进展集成测试。实践说明,一些模块虽然能够单独地工作,但 并不能保证连接起来也能正常的工作。程序在*些局部反映不出来的问题,在全局上很可能暴露 出来,影响功能的实现。23确认测试确认测试的目的是向未来的用户说明系统能够像预定要求那样工作。经集成测试后,已经按照设计把 所有的模块组装成一个完整的软件系统,接口错误也已经根本排除了,接着就应该进一步验证软件的 有效性,这就是确认测试的任务,即软件的功能和性能如同用户所合理期待的那样。确认测试又称有效性测试。有效性测试是在模拟的环境下,运用黑盒测试的方法,验证被测软件是否 满足需求

8、规格说明书列出的需求。任务是验证软件的功能和性能及其他特性是否与用户的要求一致。 对软件的功能和性能要求在软件需求规格说明书中已经明确规定,它包含的信息就是软件确认测试的 根底。2.4 系统测试系统测试,英文是System Testi ng。是将已经确认的软件、计算机硬件、外设、网络等其他元素结合 在一起,进展信息系统的各种组装测试和确认测试,系统测试是针对整个产品系统进展的测试,目的 是验证系统是否满足了需求规格的定义,找出与需求规格不符或与之矛盾的地方,从而提出更加完善 的方案。系统测试发现问题之后要经过调试找出错误原因和位置,然后进展改正。是基于系统整体需 求说明书的黑盒类测试,应覆盖系

9、统所有联合的部件。对象不仅仅包括需测试的软件,还要包含软件 所依赖的硬件、外设甚至包括*些数据、*些支持软件及其接口等。系统测试的步骤:【Step 1】制定系统测试方案系统测试小组各成员共同协商测试方案。测试组长按照指定的模板起草系统测试方案”。该 方案主要包括:测试范围内容测试方法测试环境与辅助工具测试完成准则人员与任务表工程经理审批系统测试方案。该方案被批准后,转向【Step2】。【Step2】设计系统测试用例系统测试小组各成员依据系统测试方案和指定的模板,设计撰写系统测试用例。测试组长邀请开发人员和同行专家,对系统测试用例进展技术评审。该测试用例通过技术评审后,转向【Step3】。【St

10、ep3】执行系统测试系统测试小组各成员依据系统测试方案和系统测试用例执行系统测试。将测试结果记录在系统测试报告中,用缺陷管理工具来管理所发现的缺陷,并及时通 报给开发人员。【Step4】缺陷管理与改错从【Stepl】至【Step3】,任何人发现软件系统中的缺陷时都必须使用指定的缺陷管理工具。该工具将记录所有缺陷的状态信息,并可以自动产生缺陷管理报告。开发人员及时消除已经发现的缺陷。开发人员消除缺陷之后应当马上进展回归测试,以确保不会引入新的缺陷。e.验收测试验收测试,系统开发生命周期方法论的一个阶段,这时相关的用户和/或独立测试人员根据测试 方案和结果对系统进展测试和接收。它让系统用户决定是否

11、接收系统。它是一项确定产品是否能 够满足合同或用户所规定需求的测试。这是管理性和防御性控制。至此软件测试的定义及常用方法已经介绍完毕了,但软件测试远远不只这么简单,上面列出的只 是一些根本的概念,只有自己深入的去学习才能学的更多,走的更远。3自动化测试使用自动化测试工具来进展测试,这类测试一般不需要人干预,通常在GUI、性能等测试和 功能测试中用得较多。通过录制测试脚本,然后执行这个测试脚本来实现测试过程的自动化。 国内领先的自动化测试效劳提供商是泽众软件。自动化测试工具有 QTP、Testplete、 AutoRunner 和 TAR 等。4性能测试4.1.健全测试健全测试,英文是Sanit

12、y test ing。健全测试是指一个初始化的测试工作,以决定一个新的软件版本测试是否足以执行下 一步大的测试能力。例如,如果一个新版软件每5分钟与系统冲突,使系统陷于泥潭,说 明该软件不够健全,不具备进一步测试的条件。4.2. 衰竭测试衰竭测试,英文是Failure Test ing。衰竭测试是指软件或环境的修复或更正后的再测试。可能很难确定需要多少遍再次 测试。尤其在接近开发周期完毕时。自动测试工具对这类测试尤其有用。4.3. 负载测试负载测试,英文是Load test in g。负载测试是测试一个应用在重负荷下的表现。例如测试一个Web站点在大量的负荷 下,何时系统的响应会退化或失败,以

13、发现设计上的错误或验证系统的负载能力。在这种测 试中,将使测试对象承当不同的工作量,以评测和评估测试对象在不同工作量条件下的性能 行为,以及持续正常运行的能力。负载测试的目标是确定并确保系统在超出最大预期工作量的情况下仍能正常运行。此 外,负载测试还要评估性能特征,例如,响应时间、事务处理速率和其他与时间相关的方面。4.4. 强迫测试强迫测试,英文是Force Test in g。强迫测试是在交替进展负荷和性能测试时常用的术语。也用于描述对象在异乎寻常的 重载下的系统功能测试之类的测试,如*个动作或输入大量的重复,大量数据的输入,对一 个数据库系统大量的复杂查询等。4.5. 压力测试压力测试,

14、英文是Stress Testi ng和负载测试差不多。压力测试是一种根本的质量保证行为,它是每个重要软件测试工作的一局部。压力测 试的根本思路很简单:不是在常规条件下运行手动或自动测试,而是在计算机数量较少或系 统资源匮乏的条件下运行测试。通常要进展压力测试的资源包括内部内存、CPU可用性、 磁盘空间和网络带宽等。一般用并发来做压力测试。4.6. 恢复测试恢复测试,英文是Recovery testi ng。恢复测试是测试一个系统从如下灾难中能否很好地恢复,如遇到系统崩溃、硬件损坏 或其他灾难性问题。灰复测试指通过人为的让软件或者硬件出现故障来检测系统是否能 正确的恢复,通常关注恢复所需的时间以

15、及恢复的程度。恢复测试主要检查系统的容错能力。当系统出错时,能否在指定时间间隔内修正错误 并重新启动系统。灰复测试首先要采用各种方法强迫系统失败,然后验证系统是否能尽快恢 复。对于自动恢复需验证重新初始化rei nitializatio n、检查点(checkpoi nting mecha ni sms)、 数据恢复(data recovery)和重新启动(restart)等机制的正确性;对于人工干预的恢复系统, 还需估测平均修复时间,确定其是否在可承受的范围内。5其他测试5.1 平安测试平安测试,英文是Security Test ing。平安测试是测试系统在防止非授权的内部或外部用户的访问或成心破坏等情况时怎么 样。这可能需要复杂的测试技术。平安测试检查系统对非法侵入的防范能力。平安测试期间, 测试人员假扮非法入侵者,采用各种方法试图突破防线。例如: 想方设法截取或破译口令; 专门定做软件破坏系统的保护机制; 成心导致系统失败,企图趁恢复之机非法进入; 试图通过浏览非*数据,推导所需信息,等等。理论上讲,只要有足够的时间和资 源,没有不可进入的系统。因此系统平安设计的准则是,使非法侵入的代价超过被保护信

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号