《Web性能权威指南》(Ilya Grigorik)电子书网盘下载免费在线阅读
资源链接:
链接:> 提取码:lwdt
书名:Web性能权威指南
作者:Ilya Grigorik
译者:李松峰
豆瓣评分:89
出版社:人民邮电出版社
出版年份:2013-9
页数:336
内容简介:
本书是谷歌公司高性能团队核心成员的权威之作,堪称实战经验与规范解读完美结合的产物。本书目标是涵盖Web 开发者技术体系中应该掌握的所有网络及性能优化知识。全书以性能优化为主线,从TCP、UDP 和TLS 协议讲起,解释了如何针对这几种协议和基础设施来优化应用。然后深入探讨了无线和移动网络的工作机制。最后,揭示了>
本书适合所有Web 应用及站点开发人员阅读,包括但不限于前端、后端、运维、大数据分析、
UI/UX、存储、视频、实时消息,以及性能工程师。
Ilya Grigorik 是谷歌“Web加速”(Make The Web Fast)团队的性能工程师、开发大使。他每天的主要工作就是琢磨怎么让Web应用速度更快,总结并推广能够提升应用性能的最佳实践。
作者简介:
作者简介:
Ilya Grigorik
是谷歌“Web加速”(Make The Web Fast)团队的性能工程师、开发大使。他每天的主要工作就是琢磨怎么让Web应用速度更快,总结并推广能够提升应用性能的最佳实践。
在专注于研究Web性能之前,Ilya创办了PostRank公司并担任CTO,这是一家社交分析公司。他的这家公司被谷歌收购后,成为了Google Analytics中社交分析报告模块的核心。除了研究Web性能和分析,Ilya还会为开源项目做做贡献、看看书,或者写一些好玩的项目,比如VimGolf、GitHub Archive等。
译者简介:
李松峰
2006年起投身翻译,出版过译著30余部,包括《JavaScript高级程序设计》、《简约至上》等畅销书。2008年进入出版业,从事技术图书编辑和审稿工作。
2007年创立知识分享网站“为之漫笔”(cn-cuckoocom),翻译了大量国外经典技术文章。2012年下半年创立“A List Apart中文版”站点(alistapartcn),旨在向中文读者译介这一国际顶级Web设计与开发杂志。他经常参加技术社区活动,曾在W3ctech 2012 Mobile上分享“Dive into Responsive Web Design”。2013年1月应邀在金山网络分享“响应式Web设计”,2013年3月应邀在奇虎360分享“JS的国”。
一、自动化测试类:
1、软件自动化测试:引入、管理与实施
Automated Software Testing Introduction,Management,and Performance
2、软件测试自动化技术与实例详解
Software Test Automation
3、高效软件测试自动化
Effective Software Test Automation
4、图形用户界面测试自动化
Effective GUI Test Automation
5、软件测试自动化
Just Enough Software Test Automation
6、软件工程与软件测试自动化教程
二、Web应用测试类:
1、Web安全测试
Testing Web Security:Assessing the Security of Web Sites and Applications
2、Web应用测试
Testing Application on the Web:Test Planning for Internet-Based Systems
3、Web应用测试(第二版)
Testing Applications on the Web: Test Planning for Mobile and Internet-Based Systems, Second Edition
4、Web测试指南
The Web Testing Companion: The Isider's Guide to Efficient and Effective Tests
三、软件测试基础类:
1、软件测试(原书第2版)
Software Testing A Craftsmaj's Approach(Second Edition)
2、软件测试
Software Testing
3、面向对象的软件测试
A Practical Guide to Testing Object Oriented Software
4、软件测试与质量管理
5、计算机软件测试(原书第2版)
Testing Computer Software,Second Edition
6、实用软件测试过程
Testing IT:An Off-the-Shelf Software Testing Process
7、软件质量和软件测试
Software Quality and Software Testing in Internet Times
8、系统的软件测试
Systematic Software Testing
9、软件子系统测试
The Craft of Software Testing:Subsystem Testing,Including Object-Based and Object-Oriented Testing
10、面向对象系统的测试
Testing Object-Oriented System:Models,Patterns,and Tools
11、软件测试技术概论
12、软件β测试
Beta Testing for Better Software
四、软件测试应用类:
1、有效软件测试
Effective Software Testing
2、实用软件测试方法与应用
3、软件测试:经验与教训
Lessons Learned in Software Testing
4、软件测试入门
Introducing Software Testing
5、实用软件测试指南
How to Break Software A Practical Guide to Testing
6、软件评估:基准测试与最佳实践
Software Assessments,Benchmarks,and Best Practices
7、嵌入式软件测试
Testing Embedded Software
8、软件测试求生法则
Surviving the Top Ten Challenges of Software Testing : A People-Oriented Approach
9、软件测试:过程改进
Software Testing in the Real World Improving the Process
10、快速测试
Papid Testing
11、软件测试的有效方法(原书第2版)
Effective Methods for Software Testing,Second Edition
12、网络测试深入解析
五、单元测试类:
1、单元测试之道Java版——使用Junit
Pragmatic Unit Testing:In Java with JUnit
2、测试驱动开发(中文版)
Test-driven development:by example
3、单元测试之道C#版——使用Nunit
Pragmatic Unit Testing:In C# with NUnit
4、测试驱动开发——实用指南
Test Driven Development: A Practical Guide
5、软件测试与Junit实践
六、性能测试类
1、2EE性能测试
J2EE Performance Testing With BEA WebLogic Server
2、Microsoft NET Web应用程序性能测试
Performance Testing Microsoft NET Web Applications
七、软件安全测试类:
1、黑客攻击测试篇
Hack Attacks Testing:How to Conduct Your Own Security Audit
2、Web安全测试
Testing Web Security:Assessing the Security of Web Sites and Applications
八、测试管理类:
1、测试流程管理
Managing the Testing Process
2、软件测试过程管理(原书第2版)
Managing the Testing Process(Second Edition)
九、软件测试培训类:
1、软件测试员培训教材
2、软件测试实用指南 上面每一种你可以挑选一两本看看,如果时间充足可以考虑多看看几本…… 满意的话请采纳!如果还有什么需要帮助的,咨询1051721233
基于Web的系统测试与传统的软件测试既有相同之处,也有不同的地方,对软件测试提出了新的挑战。基于Web的系统测试不但需要检查和验证是否按照设计的要求运行,而且还要评价系统在不同用户的浏览器端的显示是否合适。重要的是,还要从最终用户的角度进行安全性和可用性测试。本文从功能、性能、可用性、客户端兼容性、安全性等方面讨论了基于Web的系统测试方法。
随着Internet和Intranet/Extranet的快速增长,Web已经对商业、工业、银行、财政、教育、政府和娱乐及我们的工作和生活产生了深远的影响。许多传统的信息和数据库系统正在被移植到互联网上,电子商务迅速增长,早已超过了国界。范围广泛的、复杂的分布式应用正在Web环境中出现。Web的流行和无所不在,是因为它能提供支持所有类型内容连接的信息发布,容易为最终用户存取。
Yogesh Deshpande和Steve Hansen在1998年就提出了Web工程的概念。Web工程作为一门新兴的学科,提倡使用一个过程和系统的方法来开发高质量的基于Web的系统。它"使用合理的、科学的工程和管理原则,用严密的和系统的方法来开发、发布和维护基于Web的系统"。目前,对于web工程的研究主要是在国外开展的,国内还刚刚起步。
在基于Web的系统开发中,如果缺乏严格的过程,我们在开发、发布、实施和维护Web的过程中,可能就会碰到一些严重的问题,失败的可能性很大。而且,随着基于Web的系统变得越来越复杂,一个项目的失败将可能导致很多问题。当这种情况发生时,我们对Web和Internet的信心可能会无法挽救地动摇,从而引起Web危机。并且,Web危机可能会比软件开发人员所面对的软件危机更加严重、更加广泛。
在Web工程过程中,基于Web系统的测试、确认和验收是一项重要而富有挑战性的工作。基于Web的系统测试与传统的软件测试不同,它不但需要检查和验证是否按照设计的要求运行,而且还要测试系统在不同用户的浏览器端的显示是否合适。重要的是,还要从最终用户的角度进行安全性和可用性测试。然而,Internet和Web媒体的不可预见性使测试基于Web的系统变得困难。因此,我们必须为测试和评估复杂的基于Web的系统研究新的方法和技术。
一般软件的发布周期以月或以年计算,而Web应用的发布周期以天计算甚至以小时计算。Web测试人员必须处理更短的发布周期,测试人员和测试管理人员面临着从测试传统的C/S结构和框架环境到测试快速改变的Web应用系统的转变。
一、功能测试
1、链接测试
链接是Web应用系统的一个主要特征,它是在页面之间切换和指导用户去一些不知道地址的页面的主要手段。链接测试可分为三个方面。首先,测试所有链接是否按指示的那样确实链接到了该链接的页面;其次,测试所链接的页面是否存在;最后,保证Web应用系统上没有孤立的页面,所谓孤立页面是指没有链接指向该页面,只有知道正确的URL地址才能访问。链接测试可以自动进行,现在已经有许多工具可以采用。链接测试必须在集成测试阶段完成,也就是说,在整个Web应用系统的所有页面开发完成之后进行链接测试。
2、表单测试
当用户给Web应用系统管理员提交信息时,就需要使用表单 *** 作,例如用户注册、登陆、信息提交等。在这种情况下,我们必须测试提交 *** 作的完整性,以校验提交给服务器的信息的正确性。例如:用户填写的出生日期与职业是否恰当,填写的所属省份与所在城市是否匹配等。如果使用了默认值,还要检验默认值的正确性。如果表单只能接受指定的某些值,则也要进行测试。例如:只能接受某些字符,测试时可以跳过这些字符,看系统是否会报错。
3、Cookies测试
Cookies通常用来存储用户信息和用户在某应用系统的 *** 作,当一个用户使用Cookies访问了某一个应用系统时,Web服务器将发送关于用户的信息,把该信息以Cookies的形式存储在客户端计算机上,这可用来创建动态和自定义页面或者存储登陆等信息。如果Web应用系统使用了Cookies,就必须检查Cookies是否能正常工作。测试的内容可包括Cookies是否起作用,是否按预定的时间进行保存,刷新对Cookies有什么影响等。
4、设计语言测试
Web设计语言版本的差异可以引起客户端或服务器端严重的问题,例如使用哪种版本的HTML等。当在分布式环境中开发时,开发人员都不在一起,这个问题就显得尤为重要。除了HTML的版本问题外,不同的脚本语言,例如Java、javascript、 ActiveX、VBScript或Perl等也要进行验证。
5、数据库测试
在Web应用技术中,数据库起着重要的作用,数据库为Web应用系统的管理、运行、查询和实现用户对数据存储的请求等提供空间。在Web应用中,最常用的数据库类型是关系型数据库,可以使用SQL对信息进行处理。在使用了数据库的Web应用系统中,一般情况下,可能发生两种错误,分别是数据一致性错误和输出错误。数据一致性错误主要是由于用户提交的表单信息不正确而造成的,而输出错误主要是由于网络速度或程序设计问题等引起的,针对这两种情况,可分别进行测试。
二、性能测试
1、连接速度测试
用户连接到Web应用系统的速度根据上网方式的变化而变化,他们或许是电话拨号,或是宽带上网。当下载一个程序时,用户可以等较长的时间,但如果仅仅访问一个页面就不会这样。如果Web系统响应时间太长(例如超过5秒钟),用户就会因没有耐心等待而离开。另外,有些页面有超时的限制,如果响应速度太慢,用户可能还没来得及浏览内容,就需要重新登陆了。而且,连接速度太慢,还可能引起数据丢失,使用户得不到真实的页面。
2、负载测试
负载测试是为了测量Web系统在某一负载级别上的性能,以保证Web系统在需求范围内能正常工作。负载级别可以是某个时刻同时访问Web系统的用户数量,也可以是在线数据处理的数量。例如:Web应用系统能允许多少个用户同时在线?如果超过了这个数量,会出现什么现象?Web应用系统能否处理大量用户对同一个页面的请求?
3、压力测试
负载测试应该安排在Web系统发布以后,在实际的网络环境中进行测试。因为一个企业内部员工,特别是项目组人员总是有限的,而一个Web系统能同时处理的请求数量将远远超出这个限度,所以,只有放在Internet上,接受负载测试,其结果才是正确可信的。进行压力测试是指实际破坏一个Web应用系统,测试系统的反映。压力测试是测试系统的限制和故障恢复能力,也就是测试Web应用系统会不会崩溃,在什么情况下会崩溃。黑客常常提供错误的数据负载,直到Web应用系统崩溃,接着当系统重新启动时获得存取权。压力测试的区域包括表单、登陆和其他信息传输页面等。
三、可用性测试
1、导航测试
导航描述了用户在一个页面内 *** 作的方式,在不同的用户接口控制之间,例如按钮、对话框、列表和窗口等;或在不同的连接页面之间。通过考虑下列问题,可以决定一个Web应用系统是否易于导航:导航是否直观?Web系统的主要部分是否可通过主页存取?Web系统是否需要站点地图、搜索引擎或其他的导航帮助?
在一个页面上放太多的信息往往起到与预期相反的效果。Web应用系统的用户趋向于目的驱动,很快地扫描一个Web应用系统,看是否有满足自己需要的信息,如果没有,就会很快地离开。很少有用户愿意花时间去熟悉Web应用系统的结构,因此,Web应用系统导航帮助要尽可能地准确。导航的另一个重要方面是Web应用系统的页面结构、导航、菜单、连接的风格是否一致。确保用户凭直觉就知道Web应用系统里面是否还有内容,内容在什么地方。Web应用系统的层次一旦决定,就要着手测试用户导航功能,让最终用户参与这种测试,效果将更加明显。
2、图形测试
在Web应用系统中,适当的和动画既能起到广告宣传的作用,又能起到美化页面的功能。一个Web应用系统的图形可以包括、动画、边框、颜色、字体、背景、按钮等。图形测试的内容有:
(1)要确保图形有明确的用途,或动画不要胡乱地堆在一起,以免浪费传输时间。Web应用系统的尺寸要尽量地小,并且要能清楚地说明某件事情,一般都链接到某个具体的页面。
(2)验证所有页面字体的风格是否一致。
(3)背景颜色应该与字体颜色和前景颜色相搭配。
(4)的大小和质量也是一个很重要的因素,一般采用JPG或GIF压缩。
3、内容测试
内容测试用来检验Web应用系统提供信息的正确性、准确性和相关性。信息的正确性是指信息是可靠的还是误传的。例如,在商品价格列表中,错误的价格可能引起财政问题甚至导致法律纠纷;信息的准确性是指是否有语法或拼写错误。这种测试通常使用一些文字处理软件来进行,例如使用Microsoft Word的"拼音与语法检查"功能;信息的相关性是指是否在当前页面可以找到与当前浏览信息相关的信息列表或入口,也就是一般Web站点中的所谓"相关文章列表"。
4、整体界面测试
整体界面是指整个Web应用系统的页面结构设计,是给用户的一个整体感。例如:当用户浏览Web应用系统时是否感到舒适,是否凭直觉就知道要找的信息在什么地方?整个Web应用系统的设计风格是否一致?对整体界面的测试过程,其实是一个对最终用户进行调查的过程。一般Web应用系统采取在主页上做一个调查问卷的形式,来得到最终用户的反馈信息。对所有的可用性测试来说,都需要有外部人员(与Web应用系统开发没有联系或联系很少的人员)的参与,最好是最终用户的参与。
四、客户端兼容性测试
1、平台测试
市场上有很多不同的 *** 作系统类型,最常见的有Windows、Unix、Macintosh、Linux等。Web应用系统的最终用户究竟使用哪一种 *** 作系统,取决于用户系统的配置。这样,就可能会发生兼容性问题,同一个应用可能在某些 *** 作系统下能正常运行,但在另外的 *** 作系统下可能会运行失败。因此,在Web系统发布之前,需要在各种 *** 作系统下对Web系统进行兼容性测试。
2、浏览器测试
浏览器是Web客户端最核心的构件,来自不同厂商的浏览器对Java,、javascript、 ActiveX、 plug-ins或不同的HTML规格有不同的支持。例如,ActiveX是Microsoft的产品,是为Internet Explorer而设计的,javascript是Netscape的产品,Java是Sun的产品等等。另外,框架和层次结构风格在不同的浏览器中也有不同的显示,甚至根本不显示。不同的浏览器对安全性和Java的设置也不一样。测试浏览器兼容性的一个方法是创建一个兼容性矩阵。在这个矩阵中,测试不同厂商、不同版本的浏览器对某些构件和设置的适应性。
五、安全性测试
Web应用系统的安全性测试区域主要有:
(1)现在的Web应用系统基本采用先注册,后登陆的方式。因此,必须测试有效和无效的用户名和密码,要注意到是否大小写敏感,可以试多少次的限制,是否可以不登陆而直接浏览某个页面等。
(2)Web应用系统是否有超时的限制,也就是说,用户登陆后在一定时间内(例如15分钟)没有点击任何页面,是否需要重新登陆才能正常使用。
(3)为了保证Web应用系统的安全性,日志文件是至关重要的。需要测试相关信息是否写进了日志文件、是否可追踪。
(4)当使用了安全套接字时,还要测试加密是否正确,检查信息的完整性。
(5)服务器端的脚本常常构成安全漏洞,这些漏洞又常常被黑客利用。所以,还要测试没有经过授权,就不能在服务器端放置和编辑脚本的问题。
六、总结
本文从功能、性能、可用性、客户端兼容性、安全性等方面讨论了基于Web的系统测试方法。基于Web的系统测试与传统的软件测试既有相同之处,也有不同的地方,对软件测试提出了新的挑战。基于Web的系统测试不但需要检查和验证是否按照设计的要求运行,而且还要评价系统在不同用户的浏览器端的显示是否合适。重要的是,还要从最终用户的角度进行安全性和可用性测试。
JMeter负载测试是使用一个名为Apache JMeter的负载测试工具完成的测试过程,Apache JMeter是一个基于Java的开源桌面应用程序。它还有助于分析高负载下的整体服务器。
JMeter性能测试是使用Apache JMeter测试Web应用程序性能的测试方法。JMeter for Performance Testing有助于同时测试静态和动态资源,有助于发现并发用户JMeter性能测试,包括Web应用的负载测试和压力测试。
Apache JMeter测试工具在性能测试方面提供以下好处
JMeter性能测试包括:
下图显示了JMeter负载测试如何模拟重负载:
在本教程中,我们将对1000名用户进行baiducom的性能分析 。在测试目标Web应用程序的性能之前,我们应该确定-
以下是这个实际示例的路线图
右键单击“测试计划”,添加一个新的线程组:Add->Thread(Users)->Thread Group
在线程组控制面板中,输入线程属性,如下所示:
线程计数和循环计数不同。
启动周期告诉JMeter在启动下一个用户之前要延迟多长时间。例如,如果我们有100个用户和100秒的启动周期,那么启动用户之间的延迟将是1秒(100秒/100个用户)
现在我们确定此测试中的JMeter元素。这些元素包括
可以通过右键单击Thread Group并选择:Add->Config Element->>
测试入门
软件测试(第2版)
Software Testing (2e), Ron Patton
一本测试入门的好书,较全面地介绍了各种测试领域和方法,为测试新手提供了正确的观念和宽泛的基础。
软件测试工程师面试指导
蔡为东
面向初学者,介绍了软件测试行业、测试工程师素质要求、基本测试技术、求职策略、面试技巧、典型试题,对于测试新手或迈向测试行业的朋友有较高的参考价值。此书还收录了一些对读者来信的回复,内容涉及职业规划、大学生就业、测试学习、测试实践等,针对当前常见的困惑,做出了谨慎且深思熟虑的回答。附文《我在微软做软件测试外包》对于了解微软中国的流程与文化很有参考价值。
软件测试的艺术(第2版)
The Art of Software Testing (2e), Glenford J Myers, Corey Sandler, Tom Badgett, Todd M Thomas
一本“久经考验”的测试经典:1979年,第一版面试;25年后,第二版登场。平心而论,有些观点已经不能直接应用在测试实践中,但是仔细品味仍有所收获。毕竟,这是一本需要思考的书,而不是 *** 作手册。
软件测试实战–测试Web MSN
蔡为东
以Web MSN为测试对象,形象生动地介绍了针对图形界面的黑盒测试技术,有很强的实践性。围绕一个实例,全面地的介绍各种测试方法,是此书区别于其他测试书籍的一大特色。附文《胶着》是作者一段开发经历的回顾与小结,有笑有泪,仅凭此文便值回书资。
通用测试技术
探索式软件测试(强烈推荐)
《探索式软件测试》涉及以下重要问题:为什么自动化测试无法消除所有缺陷,如何才能让这些缺陷无处遁形?哪些技术可帮助我不断发现和消除致命错误?如何更高效地进行手工测试,增加些许轻松和愉悦的感觉?对于每个项目,如何确定最高效的高级测试策略?在我无法进行全部测试时,哪些输入是必须测试的?哪些测试用例能提供最理想的特性覆盖率?在结合使用探索测试和传统脚本或场景测试时,如何才能获得理想效果?如何体现来自开发过程的反馈意见,代码更改吗?
计算机软件测试(第2版)
Testing Computer Software (2e), Cem Kaner, Jack Falk, Hung Quo Nguyen
一本值得反复参考的好书,”The bestselling software testing book of all time” 的美誉绝非浪得虚名。作者将多年的实践经验用平实的语言娓娓道来,内容涉及测试技术、测试管理、开发流程、思考方法、实践模式,可谓是一本测试典籍。部分内容看似有些过时,但是其思想和方法仍旧有很高的借鉴价值。
微软的软件测试之道
How We Test Software at Microsoft, Alan Page, Ken Johnston, Bj Rollison
微软的资深测试者审视微软当前的测试方法,并展望软件测试的未来发展。缺点是没有结合Windows或Office这样的著名且复杂的产品,详细讨论具体项目的具体技术。优点是提供了许多小故事,讲述了Windows、Office、Live等产品开发中的点滴。从经验传承、启发思路的角度,这些故事是全书的精华,具有很高的参考价值。
测试有道:微软测试技术心得
梁博, 许珊, 徐歆恺
内容由一系列技术点组成,每一个点都有精要的描述和作者的心得体会,力图以小搏大,以精粹胜广博。但是没有提供一个理论框架将这些点有机地联系起来,读起来有只见树木、不见深林之感,也缺少“授人以渔”的独到见解。最大优点是介绍了一批免费且实用的工具,可以放在案头备查。
软件测试基础:方法与度量
Software Testing Fundamentals: Methods and Metrics, Marnie L Hutcheson
以风险分析为核心,讨论了测试计划、测试组织和测试设计。其中,关于“测试价值的可说明性”和“利用Office Suite来撰写、管理测试计划”的内容有启发性。适合有一定工作经验的测试人员参考。
软件测试(第2版)
Software Testing A Craftsmaj’s Approach (2e), Paul C Jorgensen
将理论与工艺结合在一起的测试教科书。比较严谨地讨论了软件测试的基础理论,适合软件测试研究者研读。
面向对象的软件测试
A Practical Guide to Testing Object Oriented Software, John D McGregor, David A Sykes
介绍了面向对象软件测试的基本思路和方法。第7章“测试类的层次结构”比较有启发性,讨论了针对继承的测试设计和组织,相关内容在其他测试书籍中并不多见。
软件测试技术大全:测试基础、流行工具、项目实战
陈能技
该书由多位作者共同撰写,内容涉及测试理念、测试技术、测试开发、测试自动化、测试管理和常见的测试工具,不愧“测试大全”的书名。有些内容失之于粗糙,一些论述也不够严谨,缺乏参考文献更是此书的硬伤。瑕不掩瑜,此书理论和实践结合紧密,仍值得测试工作者学习和思考。
测试管理
笑傲测试–软件测试流程方法与实施
魏伟
以小说为体裁的测试管理书籍。通过令狐冲和风清扬的对话,从一个逐渐成长的新人的角度,介绍了测试管理的点点滴滴。全书轻松幽默,全无技术读本的枯燥乏味。附录所收录的文章“从新鲜人到新仙人”对于行业新人颇有帮助。
步步为赢–软件测试管理全程实践
蔡为东
以“管理就是负责人”为核心,介绍作者担当测试领导的切身经验:自我管理、自我成长、编写测试计划、编写测试用例、执行测试、沟通、测试计划/用例评审、测试总结、员工管理、测试思想等。也适合第一线的测试工作者阅读,所涉及内容皆和他们的日常工作密切相关。
专项测试技术
软件安全测试艺术
The Art of Software Security Testing: Identifying Software Security Flaws, Chris Wysopal, Lucas Nelson, Dino Dai Zovi, Elfriede Dustin
软件安全测试的入门书,用很短的篇幅涵盖了软件安全测试的多个领域,为测试人员提供了模型、方法和工具。对于Threat Modeling的介绍很精彩,为进一步的行动提供了良好的理论与实践基础。
Web安全测试
Web Security Testing Cookbook: Systematic Techniques to Find Problems Fast, Paco Hope, Ben Walther
一本实践性很强的Web安全测试手册。从网络安全的角度,介绍了一批免费的网络通信分析、监控、修改、调试工具;以条目为组织,介绍了的测试方法或策略;以实践切入,穿插介绍理论知识,通过精心选材和组织,降低了Web安全测试的门槛。
实用软件测试指南
How to Break Software: A Practical Guide to Testing, James A Whittaker
软件测试专家编写的实战指南,指导测试人员从攻击的角度展开软件测试。介绍了一些实用的测试工具,对于压力测试、极限测试有较强的参考价值。
软件测试新技术与实践
于秀山, 于洪敏
介绍了组合测试技术在测试中的应用。适合组合测试研究者参考。
Web应用程序性能测试指南
Performance Testing Guidance for Web Applications, J D Meier, Carlos Farre, Prashant Bansode, Scott Barber, Dennis Rea
微软模式与实践(pattern & practices)团队的佳作,介绍了性能测试的正确观念、流程和实践。篇幅短小,内容深邃,值得在实践中反复参考和体会。
应用程序性能测试的艺术
The Art of Application Performance Testing: Help for Programmers and Quality Assurance, Ian Molyneaux
经验丰富的软件性能测试专家分享他的经验,内容包含性能测试的架构、模型、典型方法和结果分析。适合有一定经验的测试者参考。
测试自动化
NET软件测试自动化之道
NET Test Automation Recipes:A Problem-Solution Approach, James D McCaffrey
该书讲解了在NET平台上编写轻量级测试程序的实用技术。作者曾经在微软工作,该书与微软测试开发工程师的培训材料的契合度很高,实践性很强。对于Windows平台的测试工程师而言,此书的参考价值很高。
集成测试框架–用Fit进行敏捷软件测试
Fit for Developing Software: Framework for Integrated Tests, Rick Mugridge, Ward Cunningham
Fit是一种编写系统测试的测试框架,作为一种业务交流工具,它深刻地反映出敏捷软件开发的若干特质。此书由Fit之父亲自编写,不但可以了解Fit的方方面面,还能从中体会大师的感悟与实践。
互联网单元测试及实践
陈卫俊, 赵璨, 周磊, 陈洪
介绍了常见的单元测试框架,并结合具体项目讲解了单元测试的基本理论和技术。对于Web测试的新手,有较高的参考价值。
经验总结
软件测试经验与教训
Lessons Learned in Software Testing, Cem Kaner, James Bach, Bret Pettichord
值得反复研读的经典好书。Tom DeMacro的赞美——“这些经验中的任何一个,都抵得上这本书的价钱”,所言非虚。
完美软件–对软件测试的各种幻想
Perfect Software: And Other Illusions about Testing, Gerald M Weinberg
该书没有介绍具体的软件测试技术,它讨论的是软件开发中的人、他们对测试的认知、软件测试的目的、实现目的的社会学和心理学上的探索。它试图建立正确的软件测试观念、协调的心理情绪和有效的思考方式。这些要素最终会决定在具体的项目中采用何种具体测试技术的组合。
赢在测试:中国软件测试先行者之道
蔡为东
介绍了一批测试先行者的个人经验的书。学习他人经验可以用较低的成本去扩大自己的体验,自然是他山之石可以攻玉,开卷有益。不过,个人经验非批判性地阅读与理解,不能有效,甚至有害,所以该书适合愿意学习且有能力学习的测试爱好者。不足是大部分被采访者都是管理者,没有真正的测试技术专家。
软件测试精要
董杰
作者分享他在测试领域的经验与思考,其热情和思辨跃然纸上。缺点是内容却有些散乱,即便是一章,其系统性也有些不足;对于测试工具背后的测试思想,挖掘得比较浅,没有上升到测试理论的高度。
作为一名开发者,我们最长听到的就是编程界的三高:
高性能、高并发、高可用。
听起来非常高大上,但是性能到底如何呢?又该如何评定呢?
这次我们谈一谈性能测试,看一看到底什么样才叫做高性能。
本文主要从以下几个方面进行讨论。
(1)性能测试是什么?
(2)为什么需要性能测试?
(3)性能测试如何做?
(4)有哪些性能测试的工具
老马曾经说过,你想理解一件事物,首先必须先定义它。
这里直接引用一下百科中的定义:
性能测试的定义也不难理解,往往定义本身阐述了性能测试的作用。
如果你是一名开发、测试,平时接手过不少需求,可能性能测试接触的也不多。
每一个需求,都有对应的功能性需求和肺功能性需求。
功能性需求是产品需求文档中最直接的,需要实现的功能目标。简称,能用就行。
非功能性需求则要宽泛的多,架构设计是否合理?是否便于后期拓展?是否便于监控?代码实现是否优雅?文档注释是否完整?
就像你写了一只鸟,鸟头做螺旋桨非能飞起来,但是在架构设计上可能是不合理的。
飞起来
一个查询功能,用户点击查询,10S 种才返回数据,功能上是满足的,但是性能上是不能接受的。
线上的交易功能平时各方面都很棒,节假日高峰期直接系统就瘫痪了。
那如何避免这些问题出现在生产上呢?
这就需要上线之前,首先做好对应的性能测试,避免再生产上出现问题,带来严重的生产事故。
性能要高,性能要硬,性能测试,又高又硬!
又高又硬
做一件事情之前,我们首先要确定好自己的目标。
性能测试,到底要测试什么?
有些类似于开发过程中的需求分析,常见的测试指标如下。
响应时间是指某个请求或 *** 作从发出到接收到反馈所消耗的时间,包括应用服务器(客户端)处理时间、网络传输时间以及数据库服务器处理时间。
作为用户而言,在页面点击查询,等待了多久才能获取结果,这个就是响应时间。
用户不关心你后端经过了多少个服务,慢就是原罪。
对于微服务系统,链路监控就显得比较重要。可以帮助我们快速定位到底慢在哪里。
TPS(Transaction Per Second)是指单位时间(每秒)系统处理的事务量。
我看网上还有很多类似的概念:点击量/点击率、吞吐量/吞吐率、PV/UV,这里不做赘述。
个人看来本质上 TPS/QPS 就是去压测你应用的极限,当访问量较大的时候,程序能否活下来?
这里主要涉及到两个概念:高性能和高可用。
我们后面会简单讨论下这两点。
明确了测试指标之后,就需要进行测试的准备。
环境准备:比如你想压测数据库,那就需要准备对应配置的数据库资源。
脚本的准备:数据初始化脚本,调用脚本等。
这个可以类比开发过程中的代码开发。
ps: 性能压测一般不是很常用,所以环境准备流程会比较长,这一点需要注意。
当进行测试之后,测试的结果一定要给出一份报告出来。
是否通过压测要求?
最高的 QPS 是多少?
这样开发可以根据这份报告进行相应的优化。
提升性能的内容写一本书也不为过,这里简单罗列一些最常用的几点:
(1)慢 SQL
一般程序如果响应时间较长,可以首先看一下慢 SQL。
看下是否需要增加索引,或者进行 SQL 优化。
(2)缓存
针对查询,性能提升最显著的就是引入缓存。
当然,引入缓存会使架构变得复杂,这一点要结合自己的实际业务。
(3)硬件升级
如果程序优化的空间比较小,可以考虑升级一下硬件资源。
比如服务器配置翻倍,数据库配置翻倍。
什么?你说公司没钱升级?
没钱升级做什么压测?
这个时候测试报告的作用就显露了,直接用数据说话。
直接说 QPS 达不到生产要求,程序优化的空间很小,推荐硬件升级配置,升级到多少。
做人,要以德服人。
做测试,要用数据说话。
以德服人
测试最常用的工具当属 jmeter。
除此之外,还有一些其他的工具:
LoadRunner、QALoad、SilkPerformer和Rational Performance Tester。
下面对几个工具做下简单介绍
Apache JMeter 可以用于测试静态和动态资源(Web动态应用程序)的性能。
它可以用于模拟服务器、服务器组、网络或对象上的负载,以测试其强度或分析不同负载类型下的总体性能。
将负载测试集成到开发工具中:IDE、jUnit、nUnit、Jenkins、Selenium和Microsoft Visual Studio。
从1255版本开始,您可以运行您的JMeter脚本,并在任何性能测试中集成JMeter和附加的脚本类型。
ps: 这个设计理念就非常好,可以和成熟的工具进行整合。站在巨人的肩膀上。
QALoad是客户/服务器系统、企业资源配置(ERP)和电子商务应用的自动化负载测试工具。
QALoad可以模拟成百上千的用户并发执行关键业务而完成对应用程序的测试,并针对所发现问题对系统性能进行优化,确保应用的成功部署。
ps: 这个工具本人没有接触过。
SilkPerformerV可以让你在使用前,就能够预测企业电子商务环境的行为—不受电子商务应用规模和复杂性影响。
可视化的用户化、负载条件下可视化的内容校验、实时的性能监视和强大的管理报告可以帮助您迅速将问题隔离,这样,通过最小化测试周期、优化性能以及确保可伸缩性,加快了投入市场的时间,并保证了系统的可靠性。
作为 DevOps 方法的一部分,IBM Rational Performance Tester 帮助软件测试团队更早、更频繁地进行测试。
它验证 Web 和服务器应用程序的可扩展性,确定系统性能瓶颈的存在和原因,并减少负载测试。
您的软件测试团队可以快速执行性能测试,分析负载对应用程序的影响。
ps: 这一款工具有 IBM 提供,质量值得信赖。
这么多工具可供使用,相信读到这里的小伙伴已经找到了自己心仪的测试工具。
别急,下面专门为做 java 开发的小伙伴们推荐一款性能测试工具。
男人有男人的浪漫,开发者当然也要有开发者的浪漫。
男人的浪jpg
作为一名开发者,老马平时单元测试使用 junit 最多。
所以一直希望找到一款基于 junit 的性能压测工具,后来也确实找到了。
@JunitPerfConfig 指定测试时的属性配置。(必填项)
使用如下:
@JunitPerfRequire 指定测试时需要达到的要求。(选填项)
使用如下:
对应的测试报告生成方式也是多样的,也允许用户自定义。
基于控台日志:
或者基于 HTML:
junitperf
本文对性能测试做了最基本的介绍,让小伙伴们对性能压测有一个最基本的理解。
测试和开发一样,都是一件费时费力,而且需要认真做才能做好的事情,其中的学问不是一篇就能说清的。
性能测试工具也比较多,本文重点介绍了专门为 java 开发者打造的 junitperf 工具。
下一节我们将从源码角度,讲解一下 junitperf 的实现原理。
我是老马,期待与你的下次重逢。
开源地址:>
有关更多信息,请参见如何:从命令行使用 MSTest 运行自动测试和MSTestexe 命令行选项。下面的过程介绍如何使用命令行通过以下选项来运行 Web 性能测试:从命令行运行单个 Web 性能测试从命令行运行多个 Web 性能测试运行指定部署项的 Web 性能测试使用测试控制器和测试代理运行分布式 Web 性能测试运行编码的 Web 性能测试指定结果文件名从命令行运行单个 Web 性能测试从命令行运行单个 Web 性能测试打开Visual Studio 命令提示符。为此,请单击“开始”,依次指向“所有程序”、“Microsoft Visual Studio 2010”和“Visual Studio Tools”,然后单击“Visual Studio 2010 命令提示”。默认情况下,Visual Studio 命令提示在以下文件夹位置打开::\Program Files\Microsoft Visual Studio 100\VC注意若要更改命令提示符窗口默认情况下打开的文件夹,请单击“开始”,指向“Microsoft Visual Studio 2010”,指向“Visual Studio Tools”,右击“Visual Studio 2010 命令提示”,再单击“属性”。在“Visual Studio 2010 命令提示属性”对话框中,可以更改“起始于”框中的默认文件夹的路径。找到包含 Web 性能测试的文件夹。若要从命令行运行单个 Web 性能测试,需要指定 /TestContainer 参数。webtest 文件或 loadtest 文件被视为测试容器,包含单元测试的 dll 也是测试容器。例如,如果您有一个名为 WebTest1webtest 的 Web 性能测试,则将使用以下命令运行该 Web 测试:mstest /TestContainer:WebTest1webtest(可选)可以在 MSTest 命令中使用其他选项。例如,可以将结果保存到特定的测试结果文件中;发布测试结果;或使用特定的测试设置运行以进行特定 *** 作(例如,更改部署的文件)。有关更多信息,请参见 MSTestexe 命令行选项。从命令行运行多个 Web 性能测试从命令行运行多个 Web 性能测试打开Visual Studio 命令提示符。为此,请单击“开始”,依次指向“所有程序”、“Microsoft Visual Studio 2010”和“Visual Studio Tools”,然后单击“Visual Studio 2010 命令提示”。默认情况下,Visual Studio 命令提示在以下文件夹位置打开::\Program Files\Microsoft Visual Studio 100\VC注意若要更改命令提示符窗口默认情况下打开的文件夹,请单击“开始”,指向“Microsoft Visual Studio 2010”,指向“Visual Studio Tools”,右击“Visual Studio 2010 命令提示”,再单击“属性”。在“Visual Studio 2010 命令提示属性”对话框中,可以更改“起始于”框中的默认文件夹的路径。找到包含负载测试的文件夹。可以从命令行指定多个测试容器参数。如果要执行 WebTest1webtes 和 WebTest2webtest,请使用以下命令行:mstest /TestContainer: WebTest1webtest /TestContainer: WebTest2webtest运行指定部署项的 Web 性能测试从命令行运行测试的一个重大区别是,您无法利用 Visual Studio 2010 旗舰版中的自动过程。当您从 Visual Studio 2010 旗舰版运行 Web 性能测试时,Visual Studio 将尝试确定要使测试运行需要与 Web 性能测试一起部署的内容。例如,您编写了自定义验证规则或提取规则。当您在 Visual Studio 2010 旗舰版中运行 Web 性能测试时,它会查看测试项目的引用并尝试确定需要部署的内容。当您从命令行运行测试时,需要十分清楚部署的内容。例如,如果您需要部署一个 dll 才能使 Web 性能测试运行,则需要运行 mstest 并指定 /testsettings 参数。测试设置中包含部署项。有关更多信息,请参见创建测试设置以从 Visual Studio 中运行自动测试。从命令行运行指定了测试配置中所含部署项的 Web 性能测试打开Visual Studio 命令提示符。为此,请单击“开始”,依次指向“所有程序”、“Microsoft Visual Studio 2010”和“Visual Studio Tools”,然后单击“Visual Studio 2010 命令提示”。默认情况下,Visual Studio 命令提示在以下文件夹位置打开::\Program Files\Microsoft Visual Studio 100\VC注意若要更改命令提示符窗口默认情况下打开的文件夹,请单击“开始”,指向“Microsoft Visual Studio 2010”,指向“Visual Studio Tools”,右击“Visual Studio 2010 命令提示”,再单击“属性”。在“Visual Studio 2010 命令提示属性”对话框中,可以更改“起始于”框中的默认文件夹的路径。找到包含 Web 性能测试的文件夹。若要使用包括部署信息的测试设置来运行 Web 性能测试,请以与下面类似的方式使用 mstest:Mstest /TestContainer:WebTest1webtest /TestSettings:NewOrEditedTestSettingtestsettings使用测试控制器和测试代理运行分布式 Web 性能测试当您使用 Visual Studio 2010 旗舰版在测试控制器和测试代理上运行 Web 性能测试或负载测试,以在多台计算机上分布测试时,您需要使用测试设置。在Visual Studio 2010 旗舰版中,可以创建或编辑测试设置并指定要运行的控制器名称。有关更多信息,请参见使用测试设置来设置计算机和收集诊断信息。
以上就是关于《Web性能权威指南》pdf下载在线阅读,求百度网盘云资源全部的内容,包括:《Web性能权威指南》pdf下载在线阅读,求百度网盘云资源、软件测试需要看什么书、WEB测试应该注意哪些地方,怎样才能做好WEB等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)