当前位置: 首页 > news >正文

您身边的网站建设专家免费logo在线制作u钙网

您身边的网站建设专家,免费logo在线制作u钙网,seo免费优化工具,猎头公司logo1 、概述 手续的关于测试的方法论#xff0c;都是建立在之前的文章里面提到的观点#xff1a; 功能测试不建议做自动化 接口测试性价比最高 接口测试可以做自动化 后面所谈到的 测试自动化 也将围绕着 接口自动化 来介绍。 本系列选择的测试语言是 python 脚本语言。由于其…1 、概述 手续的关于测试的方法论都是建立在之前的文章里面提到的观点 功能测试不建议做自动化 接口测试性价比最高 接口测试可以做自动化 后面所谈到的 测试自动化 也将围绕着 接口自动化 来介绍。 本系列选择的测试语言是 python 脚本语言。由于其官方文档已经对原理有了比较清楚的解释本文就不做一些多余的翻译工作了。偏向于实战部分而且为了偏向实战也会结合 IDE 工具和项目组织来进行讲解。 理由如下 1.脚本语言开发和迭代的效率极高 2.第三方的扩展库极多有很我现成的工具可以使用 在正式进入到 自动化测试 的领域之前先要建立这样的价值观。在Google内部工程师发布的软件测试的出版物里面提到 “软件的自动化测试是有成本的而且成本不低基本上相当于在原有的 功能开发工程 的基础上再建立一个平行的 测试开发工程 ”。 也就是说如果你对自动化测试有你的期望值那么就肯定是要付出相应的代价和精力的。好的东西也是需要优秀的人花大量的时间去完成的。 2 、PyUnit测试框架 使用 python 作为自动化编程语言那么就自然的使用 pyunit 作为自动化测试框架了。 如下部分的内容主要来自于 pyunit 的官方文档本文仅仅做了一些翻译和结构上的简单调整。这部分属于测试框架的基本原理和概念部分在进行代码编写前有必要进行了解。 python的单元测试框架 PyUnit,可以认为是 Java 语言下的单元测试框架 JUnit 的 Python 语言实现版本甚至其作者之一 Kent Beck 就是 JUnit 的作者。 unittest要达到如下目标 支持自动化测试 让所有的测试脚本共享 开启(setup) 和 关闭(shutdown) 的代码 可以通过集合collections的方式来组织测试用例脚本 将所有的测试脚本从测试报告框架中独立出来 为了达到以上目标unittest支持如下几个重要概念 测试装置test fixture 为一个或者多个测试用例做一些准备工作例如连接一个数据库创建一个目录或者开启一个进程 测试用例test case 测试用例是测试行为的最小单元通过对一些输入输出值的对比来进行测试检查 测试套件test suite 将 测试用例 或者 测试用例集合 聚合组织起来的集合。可以批量执行一个测试套件内所有的测试用例 测试执行器test runner 组织安排测试脚本执行活动的组件。测试执行器通过一些图形界面文本界面或者返回一些特殊的值来展示测试脚本的测试结果主要用于生成测试报告。 3 、基本示例 如下示例也来自于官方文档 basic_demo.py # coding:utf-8基本的自动化测试脚本 basic_demo.py__author__ zhengimport unittestclass TestStringMethods(unittest.TestCase):def setUp(self):print init by setUp...def tearDown(self):print end by tearDown...def test_upper(self):self.assertEqual(foo.upper(), FOO)def test_isupper(self):self.assertTrue(FOO.isupper())self.assertFalse(Foo.isupper())self.assertTrue(Foo.isupper())def test_split(self):s hello worldself.assertEqual(s.split(), [hello, world])# check that s.split fails when the separator is not a stringwith self.assertRaises(TypeError):s.split(2)if __name__ __main__:unittest.main()虽然官方文档里面介绍了几种组织测试用例脚本的方式 1.独立测试函数 2.单用例测试类 3.多用例测试类 不同的编写形态会有不同的组织方式具体的可以看官方文档。本文作者研究过官方文档后最喜欢第三种方式 多用例测试类,也就是上面基本示例的方式这种方式具有如下特点 测试类 继承于 unittest.TestCase 一个测试类可以管理多个 测试脚本函数 测试脚本函数名称需要以 test_ 开头 一个测试类里面的所有的测试函数共享 setUp和tearDown函数 在控制台中运行此程序 ➜ src git:(master) ✗ python basic_demo.py init by setUp... Fend by tearDown... init by setUp... end by tearDown... .init by setUp... end by tearDown... .FAIL: test_isupper (__main__.TestStringMethods) ---------------------------------------------------------------------- Traceback (most recent call last):File basic_demo.py, line 24, in test_isupperself.assertTrue(Foo.isupper()) AssertionError: False is not true---------------------------------------------------------------------- Ran 3 tests in 0.001sFAILED (failures1) ➜ src git:(master) ✗前面的基本例子的 main 函数采用的最简单的方式直接运行所有的测试用例并生成默认的文本报告。其实只需要对调用函数做一些简单的修改可以将这些测试用例进行合理组织并获取其实有用的数据信息以便和信息系统进行集成形成较好的扩展。 if __name__ __main__:# unittest.main()# 装载测试用例test_cases unittest.TestLoader().loadTestsFromTestCase(TestStringMethods)# 使用测试套件并打包测试用例test_suit unittest.TestSuite()test_suit.addTests(test_cases)# 运行测试套件并返回测试结果test_result unittest.TextTestRunner(verbosity2).run(test_suit)#生成测试报告print(testsRun:%s % test_result.testsRun)print(failures:%s % len(test_result.failures))print(errors:%s % len(test_result.errors))print(skipped:%s % len(test_result.skipped))运行后生成的输出为 ➜ src git:(master) ✗ python basic_demo.py test_isupper (__main__.TestStringMethods) ... init by setUp... FAIL end by tearDown... test_split (__main__.TestStringMethods) ... init by setUp... end by tearDown... ok test_upper (__main__.TestStringMethods) ... init by setUp... end by tearDown... ok FAIL: test_isupper (__main__.TestStringMethods) ---------------------------------------------------------------------- Traceback (most recent call last):File basic_demo.py, line 23, in test_isupperself.assertTrue(Foo.isupper()) AssertionError: False is not true---------------------------------------------------------------------- Ran 3 tests in 0.001sFAILED (failures1) testsRun:3 failures:1 errors:0 skipped:0显然上面的输入结果已经将测试的结果进行了统计这些数据都是一次测试活动中的重要指标这些数据可以入库和测试信息管理系统集成后期生成仪表盘或者统计报表形成稳定和产品测试线路图这些都是和开发相关的了在此不再多叙述了。 结合上面的具体例子我们也可以找到上一节的理论部分对应的具体实现对象 测试装置test fixture 由setUp函数来做初始化工作由tearDown做销毁工作 测试用例test case 对应TestCase类或者更细化的对应里面的测试脚本函数 测试套件test suite 对应TestSuite类 测试执行器test runner 对应TextTestRunner类 4、IDE工具 既然需要开发代码的生产力那么就需要介绍一款IDE工具-- Pycharm。不可否认它是目前最专注/专业的 Python 语言的 IDE 了。在对Pyunit 也有比较好的支持。 主要支持如下 可视化的编程开发这是IDE的基本特点 对测试结果进行可视化的展示 导出生成HTML的测试报告 可视化控制用例执行这个在开发调试阶段很方便可以方便控制指定代码单元运行 1.让一个目录下的所有用命执行 2.让单个文件内所有用例执行 3.让单个文件内的单个用命执行 4.1 运行和调试 Pycharm 对测试脚本提供了灵活的运行和调试支持。 通过pycharm开发人员可以不用编写main函数就可以实现如下功能 运行一个文件下所有的测试类 运行一个测试类的所有测试脚本 运行一个测试类的某个测试脚本 其中 “运行一个测试类的某个测试脚本” 比较有用适合在开发阶段快速地对单个脚本进行开发和运行调试。 使用方法 1.将光标移动到测试函数内部 2.按下运行快捷键 ctrlshiftF10 (Eclipse快捷键方案) 如果要断点调试则使用Debug模式即可对单个函数运行和断点调试了。 当然也可以不必借用IDE而通过对testSuit操作也可以实现以上功能但是IDE却提供了更灵活直接的选择。这只是一些IDE使用技巧也不多述了。 4.2 结果可视化 对于前面提到的例子如果选择在IDE中运行此程序会看到如下效果 可以看到全部运行通过。如果刻意将其中一个弄成不通过的则会显示如下的结果 4.3 生成测试报告 Pycharm也提供了测试结果报告的导出功能在测试结果显示框上的一个功能按钮上。 导出结果如下 当然如果不考虑和信息系统集成不考虑后续的仪表盘和测试统计工作仅仅只是要生成报告这个功能已经足够了。 一般情况下做自动化测试和开发上面的那些那些技能已经完全能够满足要求了接下来要做的事情就是利用各种计算机基本知识面对不断增加的业务需求而不断地增加测试用例脚本了。 功能开发项目原理都很简单但是随着量的增加都会形成规模测试开发工程也是一样。 5、项目组织 之前对测试用例的 开发调试态 的工具进行了介绍。但是如果真正的要纳入到 持续集成 的自动化体系就显然不能依赖于 IDE 了。而是使用python 语言的组织和调用方式了比如要有 main 函数来作为执行入口等等。 详细的技术实现细节在后面有机会将再会写相应的文章进行介绍。 通过脱离IDE的项目组织方式有如下优点 可以通过事件触发来执行所有脚本能够成为 持续集成 流水线的一环节 可以将数据全部提出并进行自定义加工和处理(和测试信息系统集成为质量分析系统提供数据源) 6、测试平台 关于如何自动化生成测试报告这个测试产物现在有一些平台能够提供接口调用及报告展示和分享功能 7、小结 本小部分的内容主要是讲基于 python 语言的 自动化测试框架 pyunit的一些设计思想和基本使用示例。其实工具的使用方法很简单但是如何利用好这些工具来进行软件生产则需要其它的计算机技能了在后续的文章中将会从工程方面和技术方面来对此框架的应用进行深入的扩展。 学习资源分享 最后感谢每一个阅读我文章的人一点小心意虽然不是啥值钱的需要的话直接拿走
http://www.hkea.cn/news/14269933/

相关文章:

  • Wordpress网站调用代码网站友情链接模板
  • 取名算命网站的源代码asp+access做外贸的免费网站有哪些
  • 搭建网站免费网站优化技术
  • 建设网站列表网站建设的大公司好
  • 怀化本地网站杭州高端网站
  • 网站建设需求参考文档微信营销手机网站模板
  • 网站建设合同报价建设通app下载安装
  • 淘宝建设网站的好处深圳网站建设售后服务怎样
  • 南宁专业做网站方案上海市建设工程有限公司
  • 网站设计联系电话阿里云服务器开源做几个网站
  • asp网站管理系统源码千图网app下载
  • 免费电商网站模板做那种事的网站
  • 中信建设证券官方网站wordpress支持支付宝吗
  • 建筑设计网站 知乎泉州大型网站设计公司
  • 石大远程在线考试 《网页设计与网站建设》做爰全过程免费的视频网站爱
  • 有哪些网站可以免费发布广告网络推广属于什么专业
  • 做电气设计有哪些好的网站怎么建立公司网站?
  • 建设网站现在免费吗河北优化seo
  • 资源网站建设多少钱华为云 搭建网站
  • 河南免费网站建设登陆建设官方网站
  • 网站建设公司 云智互联优化网站首页
  • 为什么网站打不开网站开发安全
  • wordpress mu 搜索seo综合查询工具有什么功能
  • 关于产品网站建设的问题京东联盟如何做查优惠卷的网站
  • 如何提高网站收录数wordpress 后台制作
  • 找网站做任务qq红包网站怎么做可留言功能
  • 设计学校网站模板免费下载购物网站建设合同
  • 网站建设模板 源码 特效网站制作多久
  • 手机网站和网站一体遵义哪里有做网站的
  • 网站开发总体功能设计wordpress注册邮件问题