ppt课件-nginx模块的测试方法与程序测试经验.pptx

上传人(卖家):三亚风情 文档编号:2780863 上传时间:2022-05-25 格式:PPTX 页数:39 大小:623.10KB
下载 相关 举报
ppt课件-nginx模块的测试方法与程序测试经验.pptx_第1页
第1页 / 共39页
ppt课件-nginx模块的测试方法与程序测试经验.pptx_第2页
第2页 / 共39页
ppt课件-nginx模块的测试方法与程序测试经验.pptx_第3页
第3页 / 共39页
ppt课件-nginx模块的测试方法与程序测试经验.pptx_第4页
第4页 / 共39页
ppt课件-nginx模块的测试方法与程序测试经验.pptx_第5页
第5页 / 共39页
点击查看更多>>
资源描述

1、1Nginx模块的测试方法与程序测试经验服务器平台 李子2010年5月5日2服务器平台 李子概要 单元测试 nginx-test perl单元测试42010年5月5日单元测试 & roadmap 什么是单元测试 单元测试重要性 我们的借口 单元测试内容 Mock对象 怎么成为好的单元测试52010年5月5日什么是单元测试 定义 开发者编写的一小段代码,用于检查被测试代码的一个很小的、很明确的功能是否正确 目的 证明某段代码的行为是否与开发者所期望的一致62010年5月5日不写测试的借口 测试太花时间了 在编写代码时,你在哪些地方花费了更多时间? 在项目快要结束时才做单元测试立即测试与延后测试的

2、比较72010年5月5日不写单元测试的借口 还认为没时间写单元测试 对于所编写的代码 ,在调试上花了多少时间? 你觉得是正确的代码,但却存在重大bug,你花多少时间在重新确认这些代码上面? 对于别人报告的一个bug,你花多少时间 才找到导致这个bug的源码位置 ?82010年5月5日不写单元测试的借口 单元测试运行时间太长 将费时间的测试与其它测试分开来 费时测试可以每天一次或几天一次 运行很快的测试可以经常运行 测试代码并不是我的工作 工作完成并不意味着编码结束 增加对自己代码的自信 会不会让测试人员没事可干?92010年5月5日需要测试的内容 Right-BICEP Right结果是否正确

3、 B边界条件 I反向关联 C交叉检查 E强制错误条件的发生 P性能要求102010年5月5日需要测试的内容 Right结果是否正确 确认代码要做的与期望是否一致 重视测试数据重视测试数据,出错时,先检查数据2-3次112010年5月5日需要测试的内容 B边界条件 Conformance(一致性) Ordering(顺序性) Range(区间性) Referendce(依赖性) Existence(存在性) Cardinatity(基数性) Time(相对或者绝对的时间性)122010年5月5日需要测试的内容 I反向关联 使用反向的逻辑来验证他们u如:计算平方根,将结果平方后来验证向容器增加数据

4、,验证数据是否存在于容器中 尽可能使用不同的原理来反向测试u避免两个函数出现相同的bug132010年5月5日需要测试的内容 C交叉检查 使用未采取方法来验证采纳方法的正确性 使用本身的不同部分来数据来检验u 如:总数=已完成+未完成 E强制产生错误条件 如:磁盘满,断网 E性能特性 可以粗糙测试来保证性能曲线的稳定性u如:改前为1s,改后是5s142010年5月5日Mock对象 使用场景 某个方法依赖于其他一些难以操控的东西,如网络等 简单替换 简单替换函数u 如:gettime()152010年5月5日Mock对象 Mock对象 使用一个接口来描述这个对象 为产品代码实现这个接口 以测试为

5、目的,在mock对象中实现这个接口162010年5月5日优秀的测试 A-TRIP 自动化(Automatic) 彻底的(Thorough) 可重复的(Repeatable) 独立的(Independent) 专业的(Professional)172010年5月5日优秀的测试 自动化(Automatic) 调用测试自动化 检查结果自动化 彻底的(Thorough) 测试了所有可能会出问题的情况 可重复的(Repeatable) 独立于其它测试,独立于周围环境 能以任意顺序执行,且产生相同结果182010年5月5日优秀的测试 独立的(Independent) 简洁而精炼 一次只测试一样东西 专业的

6、(Professional) 不要为了测试去测试,不可能出现问题的情况就不需要去测试了nginx-test202010年5月5日nginx-test & roadmap 能做什么 执行流程 有何优势 有何不足 如何测试212010年5月5日nginx-test 能做什么 主要是针对功能测试 测试执行流程准备启动nginx请求响应验证终止22nginx-test 优势 独立性 依赖于强大的perl(特别是CPAN) 清晰的测试结果 可扩展性强 不足 无法针对单元测试进行测试 无法针对性能进行测试 目前提供针对nginx的库函数较少232010年5月5日nginx-test 如何使用 函数库Per

7、l库:Test:Morehttp:/search.cpan.org/mschwern/Test-Simple-0.94/lib/Test/More.pm like、 unlike、ok、is like ($got, qr/expected/, $test_name); ok( foo(), $test_name ); is( foo(42), 23, $test_name );242010年5月5日nginx-test 如何使用 函数库nginx-test 函数库 Plan、run、stop、write_file、write_file_expand、http_get()、http_head()

8、、http().252010年5月5日nginx-test 如何使用 准备测试数据:配置文件,数据文件从脚本文件中输出拷贝到指定地方262010年5月5日nginx-test 如何使用 编写用例代码like(http_get(foo.html),qr/partten/, comment ) 执行设置环境变量:TEST_NGINX_BINARY执行测试脚本perl282010年5月5日Perl简介 Perl是什么 Practical Extraction and Report Language 作者:Larry wall 具有高级语言(如C)的强大能力和灵活性。 脚本语言,解释执行,并具有脚本语

9、言所有功能 Perl像C一样强大,像awk、sed等脚本描述语言一样方便。292010年5月5日Perl基本语法 变量定义 以$开头,如:$num=1; 数组定义 以开头,如:array=1,2,3; 调用数组元素,如:$ array1 字符串 Perl 中字符串的未尾并不含有隐含的NULL字符,NULL字符可以出现在串的任何位置。302010年5月5日Perl基本语法 单引号与双引号字符串 单引号字符串没有变量替换 单引号字符串不支持转义字符 单引号字符串可以跨多行 字符串连接 连接:.(注意与+的区别) 重复:x 如 :“t” x 5 31Perl基本语法 文件读写 打开、关闭文件 ope

10、n(filevar,filename) close(filevar) 文件访问模式:读、写和添加 Open(FILE,”aa.txt”) Open(FILE,”aa.txt”) 读文件 $line = 写文件 print FILE (“abc”) 32Perl基本语法 命令行参数 命令行参数存放在ARGV变量里面 $ARGV为参数个数 打开管道 Open(FILE,”| ls ”) Open(FILE,”ls |”)33Perl基本语法 模式匹配 以两个反斜线包含:/pattern/ 匹配操作符: =、! 如: $foo = “abcd” $foo = /a/ 字符”|”指定两个或多个选择来匹

11、配 替换操作符:s/pattern/replacement34Perl基本语法 子程序 子程序可以出现在程序的任意地方:sub subname statements; 返回值 :默认为最后一条语句的值,也可以通过 return 来返回值 参数传递: Sub sub1 my($var1, $var2) = _;35Perl基本语法 子程序 预定义子程序:BEGIN:启动时调用 AUTOLOAD:找不到子程序时调用 END:结束时调用 36Perl基本语法 面向对象 创建类:创建名为foo.pm的包文件最后一行添加:”1;”定义包:package foo;构造函数:new();sub new()my $self = ;bless $self;return $self;37Perl基本语法 面向对象 创建类:析构函数: sub DESTORY() 方法:静态方法与虚方法静态方法第一个参数为类名,虚方法第一个参数为对象的引用方法的输出 引用包:Use foo;38再看nginx-test Nginx-test lib/Test/Nginx.pm

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(ppt课件-nginx模块的测试方法与程序测试经验.pptx)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|