版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.:.;Web 效力处于分布式计算的中心位置,它们之间的交互通常很难测试。分布式 HYPERLINK t _blank 开发、大型的开发者团队以及对代码日益组件化的期望都有能够使 Web 效力的开发变得越来越容易隐藏错误。这些类型的错误极难检测出来。 HYPERLINK t _blank 压力测试是检测这类代码错误的一种有效方法,但是只需在压力系统设计得比较有效的情况下才干发扬作用。本文将让您深化了解一下这种压力系统的根本要求。 测试方法 传统的测试方法包括某种方式的简单 HYPERLINK t _blank 单元测试 ,通常由开发人员执行。设计这些测试需求了解软件的内部知识,并且这些测试几乎
2、总是针对产品的非常小的、特定的部分。这些类型的测试非常适宜与其他代码组件极少交互,甚至没有交互的简单 Web 效力。 功能验证(Functional Verification) 也 是一种 HYPERLINK t _blank 测试过程,在这个过程中,对产品源代码了解有限的设计者进展测试以确认产品或效力的中心功能。设计这种测试是为了证明这个中心功能符合某个规范。举 个例子,我的在线拍卖显示的是输入的正确出价吗? 我的保险经纪人系统找到最廉价的报价了吗?假设这些测试失败,通常就意味着检测到了产品的一个根本问题(这个问题通常是可以直接修复)。这种测试也是适宜 简单的 Web 效力,使您可以检查效力
3、能否可以正确执行它的各个功能。 系统测试(System Test) 通常是在功能验 证阶段完成,验证了中心功能后进展。它倾向于把整个系统作为一个整体来查找问题 弄清 Web 效力作为系统的一部分怎样运作,以及 Web 效力相互之间如何交互。由于系统测试是在开发生命周期快终了时才进展,所以通常不能给它分配足够的时间来完成。又由于紧张的发行日程安排以及开发的各个重 要阶段的后移,系统测试阶段经常被忽略,并且一些通常都可以发现的、少见的错误都不能被检测到。即使发现了这种错误,这时也来不及确定错误的缘由并设法修 复它们了。因此,在查找代码错误时,必需把系统测试运用设计得尽能够高效。系统测试通常由三部分
4、组成,它们是: 性能(Performance): 这涉及到确定相关的产品统计数据的过程。例如:每秒有多少条音讯?一个效力可同时接受多少个用户? 案例(Scenario): 这是重新创建客户所需确实切配置的过程。因此在案例中发现的任何问题都可以在客户运用该产品之前被检测出来。 压力(或称任务负载平衡): 它 与另两个部分不同,由于它被设计为经过运用很大的任务负载来使软件超负荷运转。假设 HYPERLINK t _blank 压力测试经过对产品坚持高强度的运用(但不超越性能统计数字确定的限 制)能有效地执行,那么它就经常可以发现许多隐蔽的错误,而这些错误用上面提到的任何其他技术都是发现不了的(这些
5、错误也经常是最难修复的)。 从检测代码错误这方面来说,可以证明这三个系统测试组件中效率最高的是 HYPERLINK t _blank 压力测试部分。但由于这个过程经常跟系统的其他要素或 HYPERLINK t _blank 功能测试混淆在一同,所以这个过程涉及到的方法还没有被正确着手处置或实现。 压力下的错误 运用 HYPERLINK t _blank 压力测试,您有希望找到很多种用其他测试方法更难发现的错误。有两种错误类型是: 内存走漏(Memory leak): 一种极难检测的景象。内存走漏经常发生在已发行的产品中,缘由很简单,很难设计测试 HYPERLINK t _blank 用例来检测
6、它们。运用简单的功能测试,几乎发现不了内存走漏问题,由于在产品完成之前测试没对产品进展足够多的运用。内存走漏通常要求操作作要反复非常多的 次数以使内存耗费到达能引起留意的程度。虽然与其它编程言语(如 C/C+)相比, HYPERLINK t _blank Java 程序更难引入内存走漏错误,但只需程序仍坚持着对对象的援用,该对象仍有能够被实例化并且它占用的内存永远不会被释放。 并发与同步(Concurrency and Synchronization): 压 力测试在查找并发性问题上非常出众,这是由于在任何一个测试生命周期中,它都运用了许多不同的代码途径和定时条件。普通的规那么是, HYPER
7、LINK t _blank 压力测试运转的时间越 长,涉及并运用的代码途径组合和定时条件就越多。当然,这也确实使得这些问题很难再现(错误可以在 5 分钟或 5 天后发生)。死锁、线程走漏以及任何普通的同步问题通常只能在 HYPERLINK t _blank 压力测试阶段被检测出来。这些类型的问题很难经过执行单元测试来发现。开发人员不会不断思索 他或她的代码将与其他地方的代码(在执行单元测试时这些代码能够还没写出来)进展交互。 现有的 HYPERLINK t _blank 压力测试工具 有许多声称可以对 产品进展 HYPERLINK t _blank 压力测试的可用工具目前正在开发中。被广泛运用
8、的是针对 Web 效力的那些工具。然而,这些工具中有许多只是简单的 HTML/ HYPERLINK t _blank SOAP 生成器,它们模拟许多客户机衔接,并因此对 Web HYPERLINK t _blank 效力器生成高负载(这对于查找 Web 效力器的问题很有用,但对于查找 Web 效力的问题就没那么有用了)。这些工具对根本的 HYPERLINK t _blank 压力测试比较有用,但它们经常是仅仅扩展功能验证阶段来反复地执行一样的功能义务。假设足够的时间和资源可 用,就可以经过创建定制构建的 HYPERLINK t _blank 压力测试系统来实现更有效的测试。由于压力系统的设计者
9、通常对要测试的产品和 Web 效力有更多的了解,所以他们将可以确保压力系统可以用于哪些详细的代码区域。 设计压力运用 设计试图对 Web 效力进展 HYPERLINK t _blank 压力测试的 HYPERLINK t _blank 压力测试系统时,要让它们以某种特定的方式运转代码。这些风格超越了功能验证,目的是要弄清楚被测试的 Web 效力是不是不仅能做我们以为它能做的事,而且在被施加了某些高强度压力的情况下依然继续正常运转。 HYPERLINK t _blank 压力测试必需对 Web 效力运用四个根本条件。许多已建立的压力系统运用了这些条件。有效的 HYPERLINK t _blank
10、 压力测试系统将运用以下这些关键条件: 反复(Repetition): 或许最明显的且最容易了解的压力条件就是测试的反复。换句话说,测试的反复就是一遍又一遍地执行某个操作作或功能,比如反复调用一个 Web 效力。功能验证测试可以用来被弄清楚一个操作作能否正常执行。而 HYPERLINK t _blank 压力测试将确定一个操作作能否正常执行,并且能否继续在每次执行时都正常。这对于推断一个产品 能否适用于某种消费情况至关重要。客户通常会反复运用产品,因此 HYPERLINK t _blank 压力测试应该在客户之前发现代码错误。许多最简单的压力系统只实现这一个条件,但简单地扩展功能验证测试来多次
11、反复并不能构成一个有效的 HYPERLINK t _blank 压力测试。当与下面的一些原那么结合起来运用时,反复就可以发现许多隐蔽的代码错误。 并发(Concurrency): 并 发是同时执行多个操作作的行为。换句话说,就是在同一时间执行多个测试,例如在同一个效力器上同时调用许多 Web 效力。这个原那么不一定适用于一切的产品(比如无形状效力),但是多数软件都具有某个并发行为或多线程行为元素,这一点只能经过执行多个代码例如才干测出 来。功能测试或单元测试几乎不会与任何并发设计结合。压力系统必需超越功能测试,要同时遍历多条代码途径。至于怎样做到这一点取决于详细的产品。例如,一个 Web 效力
12、 HYPERLINK t _blank 压力测试需求一次模拟多个客户机。Web 效力(或者任何多线程代码)通常会访问多个线程实例间的一些共享数据。因额外方面的编程而添加的复杂性通常意味着代码会具有许多因并发引起的错误。由于引入并发性意味着一个线程中的代码有能够被其他线程中的代码中断,所以错误只在一个指令集以特定的顺序(例如以特定的定时条件)执行时才会被发现。把这个原 那么与反复原那么结合在一同,您可以运用许多代码途径和定时条件。 量级(Magnitude): 压力系统应该运用于产品的另一个条件思索到了每个操作作中的负载量。 HYPERLINK t _blank 压力测试可以反复执行一个操作作,
13、但是操作作本身也要尽量给产品添加负担。例如,一个 Web 效力允许客户机输入一条音讯,您可以经过模拟输入超长音讯的客户机来使这个单独的操作作进展高强度的运用。换句话说就是,您添加了这个操作作的量级。这个量级 总是特定于运用的,但是可以经过查找产品的可被用户计量和修正的值来确定它。例如,数据的大小、延迟的长度、资金数量的转移、输入速度以及输入的变化等等。单独的高强度操作作本身能够发现不了代码错误(或者仅能发现功能上的 HYPERLINK t _blank 缺陷), 但与其他压力原那么结合在一同时,您将可以添加发现问题的时机。 随机变化: 最后一点,任何压力系统都多多少少具有一些随机性。假设您随机
14、运用前面的压力原那么中引见的无数变化方式,您就可以在每次测试运转时运用许多不同的代码途径。下面是几个关于怎样在测试生 命周期内改动测试的例如。运用反复时,在重新启动或重新衔接效力之前,您可以改动反复操作作间的时间间隔、反复的次数,或者也可以改动被反复的 Web 效力的顺序。运用并发,您可以改动一同执行的 Web 效力、同一时间运转的 Web 效力数目,或者也可以改动关于是运转许多不同的效力还是运转许多同样的实例的决议。量级或许是最容易更改的 每次反复测试时都可以更改运用程序中出现的变量(例如,发送各种大小的音讯或数字输入值)。假设测试完全随机的话,由于很难一致地重现压力下的错误,所以一些系统运用基于一个固定随机种子的随机变化。这样,用同一个种子,重现错误的时机就会更大。 一个 HYPERLINK t _blank 压力测试通常会结合上述的一切原那么,并且在允许的范围内尽能够长时间地运转。测试被允许的执行时间越长,就可以遍历越多的代码途径,并且发现的错误也越多。当然,一旦找到错误就必需诊断并修复它。由于一个代码错误可以在 HYPERLINK t _blank 压力测试运转多日以后本人显示出来,所以系统必需保证当出现错误时一切可用的调试信息都被生成,否那么能够就必需破费同样多的时
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 淮阴师范学院《电子技术基础(2)》2022-2023学年期末试卷
- 淮阴工学院《资本运营》2023-2024学年第一学期期末试卷
- 淮阴师范学院《电机与拖动》2023-2024学年期末试卷
- DB5111T48-2024乐山市餐饮食品中异物防控指南
- DB3303T+079-2024《网络餐饮“阳光厨房”建设运行规范》
- 卫生材料的安全生产与质量控制考核试卷
- 水利工程的调度与规划考核试卷
- 白酒的企业品牌与社会责任考核试卷
- 构建和谐工作氛围重视企业安全生产培训考核试卷
- 塑料制品在包装领域的应用与创新考核试卷
- 2024年中考英语题型复习:阅读理解(含练习题及答案)
- 2024-2030年中国农业机械产业发展格局与需求趋势预测研究报告
- DZ∕T 0214-2020 矿产地质勘查规范 铜、铅、锌、银、镍、钼(正式版)
- HYT 087-2005 近岸海洋生态健康评价指南
- 人教版五年级美术学科试卷(附带答案和考察要点解说)
- 士官生生涯规划
- 青年你为什么要入团-团员教育主题班会-热点主题班会课件
- (正式版)SHT 3158-2024 石油化工管壳式余热锅炉
- 内蒙古呼和浩特市回民区2023-2024学年七年级上学期期中语文试题
- 2024年畜禽屠宰企业兽医卫生检验人员考试试题
- (高清版)WST 433-2023 静脉治疗护理技术操作标准
评论
0/150
提交评论