热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

自动化测试_干货分享自动化测试工具介绍

本文由编程笔记#小编为大家整理,主要介绍了干货分享自动化测试工具介绍相关的知识,希望对你有一定的参考价值。
本文由编程笔记#小编为大家整理,主要介绍了干货分享自动化测试工具介绍相关的知识,希望对你有一定的参考价值。















【干货分享】自动化测试工具介绍













1











- 开发背景 -










工具链集成










【干货分享】自动化测试工具介绍












现状及课题
















【干货分享】自动化测试工具介绍










对策和效果












【干货分享】自动化测试工具介绍























2











功能说明 -












开发语言:






















功能模块,小工具:Python


分词,识别:Perl


流程控制,脚本粘合,小工具:Bash






















核心功能:






















test suitetest suite是一组test case或者test suite的集合,也可以两者都有。用来将需要一同执行的测试用例聚合到一起。


test runner:一个test runner是用来执行测试用例的,对测试进行编排并把结果返回给用户。


test fixture:一个test fixture代表执行一个或者多个测试时需要准备环境,以及相关联的清理环境的工作。这包含很多内容,比如创建临时的数据库、目录等。


解释器,执行器:花了90%的精力都在这上面。涉及的内容比较多,详细请参考工具的DSL语法文档。涵盖了分词,识别,动作。如定义变量命名规则,变量作用域,注释方式,大小写是否敏感,在不同虚拟机物理机切换,投入命令的执行,命令返回结果判断,提取部分返回结果,test case模块复用和跳转,复用测试模块的参数传递返回值获取,命令的同步异步并行处理,文件传输,条件判断,循环,断点调试等等。






















边缘功能,小工具:






















查询:整体完成状况查询,当天或某一段时间内的进度查询,某一段时间内测试频度查询,某一段时间内测试内容查询,单个测试项目的历史查询


结合excel文档:测试结果自动更新测试文档;根据文档自动生成test suite


测试环境自动scale out:根据测试需要,自动scale out,VNFM,NFVO,controller。compute虚拟机


测试环境健康自动检测:一旦检测到测试环境异常,尝试恢复,恢复失败自动生成新的测试环境,如VNFM,NFVO,controller,compute虚拟机,待新环境生成自动继续测试。问题环境和问题日志可以第二天白天查看分析。



























3











- 工具功能演示 -










执行方法












【干货分享】自动化测试工具介绍











DSL和hello world
















  • 部分keyword





【干货分享】自动化测试工具介绍



  • hello world




【干货分享】自动化测试工具介绍
















查询功能

































【干货分享】自动化测试工具介绍












 查询示例:统计整体进展状况




















例:   


查询某个时间点(例2018-06-23_174311)的整体进展状况:


 # ./analyse_achievement_doc 2018-06-23_174311


可自动化项目总数/脚本完成项目数/已测试过项目数/测试OK项目数


312 /114 /88/85


 


查询截至目前为止的整体进展状况:


# ./analyse_achievement_doc


可自动化项目总数/脚本完成项目数/已测试过项目数/测试OK项目数


312 /125 /93/90














































【干货分享】自动化测试工具介绍












查询示例:某一个时间段的详细测试进展情况




















典型应用场景:查询当天或本周的测试进展


例:   


query 2018-06-25_083000 ~ 2018-06-26_170000‘s 测试进展情况                     


# ./diff_achievement_doc   2018-06-25_083000  2018-06-26_170000


 ///////////////////////////////////////////////////


2018-06-25_083000 ~ 2018-06-26_170000’s 测试进展情况


    ///////////////////////////////////////////////////


    [ 测试项目脚本完成进展: NO -> YES ]


    209_002_095


    [ 测试进展: UNTEST -> OK ]


    209_002_095


    [ 测试进展: NG -> OK ]


    211_002_003


    201_005_023


    201_005_024


 


    query 2018-06-23_153000 ~ 2018-06-24_153000‘s 测试进展情况


     # ./diff_achievement_doc  2018-06-23_153000  2018-06-24_153000


///////////////////////////////////////////////////


    2018-06-23_153000 ~ 2018-06-24_153000‘s 测试进展情况


///////////////////////////////////////////////////


    [ 测试项目脚本完成进展: NO -> YES ]


    101_008_001


    101_003_002


    211_002_003


    101_002_005


    210_001_040


    210_001_042


    210_001_046


    210_001_047


    210_001_048


    209_002_094


    [ 测试进展: UNTEST -> NG ]


    101_008_001


    101_003_002


    211_002_003


    101_002_005


    [ 测试进展: UNTEST -> OK ]


    209_002_094














































【干货分享】自动化测试工具介绍












查询示例:查询某一段时间内的测试频度




















典型应用场景:
1)挑出多次测试不通过的用例,调查原因
2)挑出时过时不过的测试用例,调查原因


例:   


     query 2018-06-22_123615 ~ 2018-06-28_123617 の test frequency


     # ./query_test_frequency 2018-06-22_123615 2018-06-28_123617


    101_002_003 OK: +0 NG: +2


    101_002_005 OK: +0 NG: +1


    101_003_002 OK: +0 NG: +1


    101_008_001 OK: +0 NG: +1


    201_001_000 OK: +59 NG: +6


    201_005_007 OK: +0 NG: +2


    201_005_008 OK: +0 NG: +1


    201_005_010 OK: +0 NG: +2


    201_005_011 OK: +0 NG: +3


    201_005_012 OK: +0 NG: +1


    201_005_014 OK: +0 NG: +1


    201_005_015 OK: +0 NG: +1


    201_005_018 OK: +0 NG: +1


    201_005_019 OK: +0 NG: +1


    201_005_020 OK: +0 NG: +1


    201_005_022 OK: +0 NG: +1


    201_005_023 OK: +1 NG: +4


    201_005_024 OK: +1 NG: +0


    206_000_000 OK: +48 NG: +3


    209_001_006 OK: +0 NG: +1


    209_002_094 OK: +10 NG: +0


    209_002_095 OK: +4 NG: +0


    209_003_010 OK: +0 NG: +1


    210_001_027 OK: +0 NG: +1














































【干货分享】自动化测试工具介绍












查询示例:某段时间内实施的测试项目一览




















例:   


    # ./query_test_item  2017-11-10_224621 2017-11-11_030000


    test_item    test_result    duration    list_name    end_time


    204_001_001    NG    13m 11s    /mnt/LOG/NFV/sequence/list_2017-11-10_190001    2017-11-10_225349


    204_001_002    NG    13m 49s    /mnt/LOG/NFV/sequence/list_2017-11-10_190001    2017-11-10_230742


    205_005_240    NG    9m 48s    /mnt/LOG/NFV/sequence/list_2017-11-10_190001    2017-11-10_231734


    205_005_245    OK    5m 53s    /mnt/LOG/NFV/sequence/list_2017-11-10_190001    2017-11-10_232333


    205_006_577    NG    4m 44s    /mnt/LOG/NFV/sequence/list_2017-11-10_190001    2017-11-10_232825


    205_006_623    NG    7m 11s    /mnt/LOG/NFV/sequence/list_2017-11-10_190001    2017-11-10_233544


    205_004_389    OK    6m 53s    /mnt/LOG/NFV/sequence/list_2017-11-10_190001    2017-11-10_234241


    205_004_401    NG    4m 27s    /mnt/LOG/NFV/sequence/list_2017-11-10_190001    2017-11-10_234716


    205_004_412    NG    8m 1s    /mnt/LOG/NFV/sequence/list_2017-11-10_190001    2017-11-10_235524


    205_004_452    NG    3m 49s    /mnt/LOG/NFV/sequence/list_2017-11-10_190001    2017-11-10_235917


    205_006_001    OK    5m 19s    /mnt/LOG/NFV/sequence/list_2017-11-10_190001    2017-11-11_000442


    205_006_070    NG    5m 20s    /mnt/LOG/NFV/sequence/list_2017-11-10_190001    2017-11-11_001008


    205_006_139    NG    12m 11s    /mnt/LOG/NFV/sequence/list_2017-11-10_190001    2017-11-11_002227


    205_006_162    NG    1m 50s    /mnt/LOG/NFV/sequence/list_2017-11-10_190001    2017-11-11_002423


    205_006_185    OK    2m 1s    /mnt/LOG/NFV/sequence/list_2017-11-10_190001    2017-11-11_002630


    205_006_208    OK    1m 59s    /mnt/LOG/NFV/sequence/list_2017-11-10_190001    2017-11-11_002835


    205_006_231    OK    3m 4s    /mnt/LOG/NFV/sequence/list_2017-11-10_190001    2017-11-11_003145


    205_006_254    NG    1m 58s    /mnt/LOG/NFV/sequence/list_2017-11-10_190001    2017-11-11_003351


    205_006_277    OK    1m 55s    /mnt/LOG/NFV/sequence/list_2017-11-10_190001    2017-11-11_003552


    205_006_300    NG    6m 7s    /mnt/LOG/NFV/sequence/list_2017-11-10_190001    2017-11-11_004205


    205_006_323    NG    8m 26s    /mnt/LOG/NFV/sequence/list_2017-11-10_190001    2017-11-11_005038


    205_006_346    NG    12m 25s    /mnt/LOG/NFV/sequence/list_2017-11-10_190001    2017-11-11_010309


    205_006_369    OK    12m 30s    /mnt/LOG/NFV/sequence/list_2017-11-10_190001    2017-11-11_011547


    205_010_002    NG    31m 53s    /mnt/LOG/NFV/sequence/list_2017-11-10_190001    2017-11-11_014749


    205_011_001    NG    34m 4s    /mnt/LOG/NFV/sequence/list_2017-11-10_190001    2017-11-11_022355


    201_007_001    NG    5m 43s    /mnt/LOG/NFV/sequence/list_2017-11-10_190001    2017-11-11_023144


    205_005_259    NG    7m 29s    /mnt/LOG/NFV/sequence/list_2017-11-10_190001    2017-11-11_023919














































【干货分享】自动化测试工具介绍












查询示例:某一个具体测试项目的测试历史




















例:   


    # ./query_test_item_history 209_002_068


    test_result duration log_server's sequence|job|list log folder path:


    NG 3秒 /mnt/LOG/NFV/sequence/list_2017-10-29_195817 2017-10-30_034247


    NG 5分2秒 /mnt/LOG/NFV/sequence/list_2017-10-30_104048 2017-10-30_120452


    NG 5分58秒 /mnt/LOG/NFV/sequence/list_2017-10-30_182635 2017-10-31_071012


    NG 34秒 /mnt/LOG/NFV/sequence/list_2017-11-02_195530 2017-11-03_005632


    NG 34秒 /mnt/LOG/NFV/sequence/list_2017-11-02_225739 2017-11-03_014757


    OK 2分15秒 /mnt/LOG/NFV/sequence/list_2017-11-03_190002 2017-11-03_233201


    OK 7分46秒 /mnt/LOG/NFV/sequence/list_2017-11-06_220532 2017-11-07_082735























 配置文件说明(部分)












【干货分享】自动化测试工具介绍












测试文档自动更新














【干货分享】自动化测试工具介绍










白天测试,夜间测试,增量测试,全量测试














【干货分享】自动化测试工具介绍
















 测试环境自动scale out和测试环境自动恢复














【干货分享】自动化测试工具介绍










实 测












【干货分享】自动化测试工具介绍

















-END-
























往期精彩









































推荐阅读
  • 本文讨论了如何在codeigniter中识别来自angularjs的请求,并提供了两种方法的代码示例。作者尝试了$this->input->is_ajax_request()和自定义函数is_ajax(),但都没有成功。最后,作者展示了一个ajax请求的示例代码。 ... [详细]
  • 【重识云原生】第四章云网络4.8.3.2节——Open vSwitch工作原理详解
    2OpenvSwitch架构2.1OVS整体架构ovs-vswitchd:守护程序,实现交换功能,和Linux内核兼容模块一起,实现基于流的交换flow-basedswitchin ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • 本文介绍了如何使用python从列表中删除所有的零,并将结果以列表形式输出,同时提供了示例格式。 ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • IOS开发之短信发送与拨打电话的方法详解
    本文详细介绍了在IOS开发中实现短信发送和拨打电话的两种方式,一种是使用系统底层发送,虽然无法自定义短信内容和返回原应用,但是简单方便;另一种是使用第三方框架发送,需要导入MessageUI头文件,并遵守MFMessageComposeViewControllerDelegate协议,可以实现自定义短信内容和返回原应用的功能。 ... [详细]
  • Postgresql备份和恢复的方法及命令行操作步骤
    本文介绍了使用Postgresql进行备份和恢复的方法及命令行操作步骤。通过使用pg_dump命令进行备份,pg_restore命令进行恢复,并设置-h localhost选项,可以完成数据的备份和恢复操作。此外,本文还提供了参考链接以获取更多详细信息。 ... [详细]
  • 十大经典排序算法动图演示+Python实现
    本文介绍了十大经典排序算法的原理、演示和Python实现。排序算法分为内部排序和外部排序,常见的内部排序算法有插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。文章还解释了时间复杂度和稳定性的概念,并提供了相关的名词解释。 ... [详细]
  • 本文总结了使用不同方式生成 Dataframe 的方法,包括通过CSV文件、Excel文件、python dictionary、List of tuples和List of dictionary。同时介绍了一些注意事项,如使用绝对路径引入文件和安装xlrd包来读取Excel文件。 ... [详细]
  • 本文介绍了利用ARMA模型对平稳非白噪声序列进行建模的步骤及代码实现。首先对观察值序列进行样本自相关系数和样本偏自相关系数的计算,然后根据这些系数的性质选择适当的ARMA模型进行拟合,并估计模型中的位置参数。接着进行模型的有效性检验,如果不通过则重新选择模型再拟合,如果通过则进行模型优化。最后利用拟合模型预测序列的未来走势。文章还介绍了绘制时序图、平稳性检验、白噪声检验、确定ARMA阶数和预测未来走势的代码实现。 ... [详细]
  • 本文讨论了微软的STL容器类是否线程安全。根据MSDN的回答,STL容器类包括vector、deque、list、queue、stack、priority_queue、valarray、map、hash_map、multimap、hash_multimap、set、hash_set、multiset、hash_multiset、basic_string和bitset。对于单个对象来说,多个线程同时读取是安全的。但如果一个线程正在写入一个对象,那么所有的读写操作都需要进行同步。 ... [详细]
  • EPPlus绘制刻度线的方法及示例代码
    本文介绍了使用EPPlus绘制刻度线的方法,并提供了示例代码。通过ExcelPackage类和List对象,可以实现在Excel中绘制刻度线的功能。具体的方法和示例代码在文章中进行了详细的介绍和演示。 ... [详细]
  • 本文介绍了Python语言程序设计中文件和数据格式化的操作,包括使用np.savetext保存文本文件,对文本文件和二进制文件进行统一的操作步骤,以及使用Numpy模块进行数据可视化编程的指南。同时还提供了一些关于Python的测试题。 ... [详细]
author-avatar
孝敏敏__216
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有