今天给大家分享一下, 软件测试的小神器:
软件测试工程师在日常工作中经常需要构造测试数据。
功能测试时,通常是去系统中查找存量数据或者手动去造数据。
在自动化测试中,我们一般采用固定的测试数据或者通过代码直接生成需要的测试数据,无论那种方式都会需要花费大量的时间增加大量的工作,其中较特殊的数据
比如:UUID(通用唯一识别码)类数据,还无法保证能够生成成功。
对于测试数据构造的问题, 是否存在可替代方案呢?
faker的python库进入了我们的视野,利用它可以生成一批测试数据。
faker官网地址:
https://faker.readthedocs.io/en/stable/?utm_source=testingpai.com
目前主流的抓包工具有很多, 今天给大家推荐的是fiddler.
fiddler适用于MacOS, windows和linux都支持,它是一个http协议调试代理工具, 使用简单、方便、快捷, 能够设置断点,支持请求过滤与重定向等。
我们可以使用fiddler协助进行接口测试, 或在功能测试时抓包判断前端后端数据是否一致, 协助定位问题.
同时可以借助fiddler实现moco.
官网地址: https://www.telerik.com/fiddler
官网的首页有一句标语“The web has evolved.Finally, testing has too.”
意思是Web已经进化了,最终,测试也是。
而对于Cypress的介绍则是“Fast, easy and reliable testing for anything that runs in a browser.”翻译为“对浏览器中运行的任何内容进行快速、简单和可靠的测试”。
Cypress优势:
1.安装简单
2.运行速度快
3.脚本实时调试
4.兼容性测试
5.失败用例自动保存截图
6.运行过程自动录制视频
官网地址:https://docs.cypress.io
Testlink是基于web的测试用例管理系统,主要功能是测试用例的创建、管理和执行,
并且还提供了一些简单的统计功能。
TestLink用于进行测试过程中的管理,通过使用TestLink提供的功能,可以将测试过程从测试需求、测试设计、到测试执行完整的管理起来,同时,它还提供了好多种测试结果的统计和分析,使我们能够简单的开始测试工作和分析测试结果。TestLink 是sourceforge的开放源代码项目之一。
作为基于web的测试管理系统,TestLink的主要功能包括:
测试需求管理
测试用例管理
测试用例对测试需求的覆盖管理
测试计划的制定
测试用例的执行
大量测试数据的度量和统计功能。
目前在XLS导入上存在缺陷,但可以使用第三方的“Testlink Convert”工具实现XLS/TXT/XML导入导出
官网地址: https://www.testlink.org/
"Sonar一个Web系统,展现了静态代码扫描的结果,结果是可以自定义的 ,支持多种语言的原理是它的扩展性 "
开源的代码质量管理平台可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等等二十几种编程语言的代码质量管理与检测.
sonarQube能带来什么?
1.不遵循代码标准
sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具规范代码编写
2.潜在的缺陷
3.糟糕的复杂度分布
文件、类、方法等,如果复杂度过高将难以改变,这会使得开发人员难以理解它们,
且如果没有自动化的单元测试,对于程序中的任何组件的改变都将可能导致需要全面的回归测试
4.重复
显然程序中包含大量复制粘贴的代码是质量低下的,sonar可以展示源码中重复严重的地方
5.注释不足或者过多
没有注释将使代码可读性变差,特别是当不可避免地出现人员变动时,程序的可读性将大幅下降,而过多的注释又会使得开发人员将精力过多地花费在阅读注释上.
6.缺乏单元测试
sonar可以很方便地统计并展示单元测试覆盖率
7.糟糕的设计
通过sonar可以找出循环,展示包与包、类与类之间的相互依赖关系,可以检测自定义的架构规则通过sonar可以管理第三方的jar包,可以利用LCOM4检测单个任务规则的应用情况, 检测耦合。
了解自己在编码过程中犯过的错误,让自己的代码更具有可读性和维护性。
tips:PMD,CheckStyle,Findbugs这些工具都叫静态代码分析工具。
什么是静态代码分析?静态代码分析是指无需运行被测代码,仅通过分析或检查源程序的语法、结构、接口等来检查程序的正确性,找出代码隐藏的错误或缺陷,如参数不匹配,有歧义的嵌套语句,错误的递归,非法计算,空指针引用等。
官网地址: http://www.sonar.org.cn/
最后,作为过来,给所有测试员一些忠告~~一名测试员,你真的不该只会点点点~随着软件开发体系的改变,对于现在的测试人员来说,不是自动化或者代码有多重要,而是懂自动化,懂代码,能够理解系统的实现,已经变成了必备技能。并且很多初学者很纠结,自动化测试工具那么多,比如QTP、selenium、jmeter、postman、LoadRunner等等。
互联网行业更新迭代太快,如果想更快的提升自己的测试能力,更好的学习新技术,我强烈建议你可以跟一些志同道合的小伙伴们一起交流讨论。
现在就有这么一个机会,我邀请你进入我们的软件测试学习交流群:785128166,备注“CSDN ”大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路。
送给大家一句话,共勉:当我们能力不足的时候,首先要做的是内修!当我们能力足够强大的时候,就可以外寻了!
最后也为大家准备了一份配套的学习资源,你能在 公众号:【程序员二黑】免费获取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中资料包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
在职阿里6年,一个29岁女软件测试工程师的心声
公司新来的阿里p8,看了我做的APP和接口测试,甩给了我这份文档…
腾讯二面:web测试问题被虐哭了,直到学长给了我这些知识点…