网站首页 > java教程 正文
自动化测试
通过集成测试方案、测试要求和测试实施,功能测试、负载测试以及测试管理过程都可以自动化,从而降低成本,提高软件质量,还可以帮助团队沟通和提高效率。自动化脚本执行测试的速度比手工测试员要快很多,还可以测试在反复执行同样一批操作时软件的响应方式。由于执行自动化测试脚本时,每次执行的操作完全相同,从而消除了人为错误。
摘抄自:itconvergence
功能上:
- 功能测试,主要是验收服务是否业务逻辑合理
- 负载测试,在功能测试的基础上,进行负载,保证服务可靠性/稳定性
内容介绍
1、概念:wikipedia
在软件测试中, 自动化测试指的是使用独立于待测软件的其他软件来自动执行测试、比较实际结果与预期并生成测试报告这一过程。 在测试流程已经确定后,测试自动化可以自动执行的一些重复但必要测试工作。也可以完成手动测试几乎不可能完成的测试。对于持续交付和持续集成的开发方式而言,测试自动化是至关重要的。
2、自动化测试介绍
1、单元测试(Unit Test, UT)
关注某一个函数,模块的正确性,一般需要开发人员编写相关的测试代码来进行自动化测试。可以使用对应的测试驱动开发(TDD)框架,如:Java的JUnit等。
单元测试任务包括:1 模块接口测试;2 模块局部数据结构测试;3 模块边界条件测试;4 模块中所有独立执行通路测试;5 模块的各条错误处理通路测试。
1、Java单元测试工具:
- JUnit,最常见的测试工具,目前使用的版本有Junit4/Juint5等
- TestNG,参考自美团的自动化测试工具积木 ,相对于 Junit来说,是二次封装,功能更多
- Mockito ,最常见的mock工具 .其他的还有 easymock, jmock 等
- Spring Test框架,主要是支持与Spring框架的集成测试,一般推荐和Spring框架一起使用
- Spock+Groovy, 这个需要具有Groovy语言的支持,学习成本比较高
- Alibaba Cloud 的 MSE , 集成了 SpringCloud / Dubbo / Istio ,集成了 压测/巡检/自动化回归测试
2、Go语言相关的测试工具:
- Go std test/benchmark,go语言原生支持友好,对于单元测试基本足够
- testify + mockery , 前者是包,后者是代码生成器(这里需要注意的是Go语言需要大量的代码生成器工具,理由是Go不支持语言上的动态代理,所以需要自动生成代码)
- go mock,这个是Go官方提供的mock工具,但是比较不好用,相对于上面的工具来说
2、集成测试(Integration Test, IT)
集成测试是为了在集成时测试模块/组件,以验证它们是否按预期工作,即测试单独工作的模块在集成时没有问题。在使用黑盒测试技术测试大型应用程序时,涉及多个彼此紧密耦合的模块的组合。我们可以应用集成测试技术概念来测试这些类型的场景。
集成测试的类型:
- 大爆炸法
- 自下而上/自上而下法
3、冒烟测试 (smoke testing)
完成一个新版本的开发后,对该版本最基本的功能进行测试,如果通过测试,才会进行下一步的测试(功能测试,集成测试,系统测试等等)。
4、用户验收测试(User Acceptance Test, UAT)
5、回归测试(Regression Test)
是指对软件的新版本测试时,重复执行之前某一个重要版本的所有测试用例
目的:
- 验证之前版本产生的所有缺陷已全部被修复;
- 确认修复这些缺陷没有引发新的缺陷
3、性能自动化测试(压测)
公司的wiki:
http://wiki.corp.ehcgnoytt.com:8360/pages/viewpage.action?pageId=34591882
主流产品还是基于 Jmeter的,生态比较好,支持分布式!
文章推荐:
1、字节跳动全链路压测(Rhino)的实践
2、全链路压测平台(Quake)在美团中的实践,写的比较好
3、有赞全链路压测实战
压测相关的概念:
1、 并发用户 VS TPS
2、
压测结果截图:这个是参加天池比赛的截图
3、全链路压测
4、功能自动化测试工具
selenium 框架,支持自动点击浏览器等功能
5、四种软件开发模式
TDD:测试驱动开发(Test-Driven Development)
学习教程:
http://www.testclass.net/tdd
BDD:行为驱动开发(Behavior Driven Development)
ATDD:验收测试驱动开发(Acceptance Test Driven Development)
DDD:领域驱动开发(Domain Drive Design)
参考/推荐:
什么是集成测试
TesterHome
猜你喜欢
- 2025-04-06 软件测试常规测试方法有哪些?(软件测试常规测试方法有哪些内容)
- 2025-04-06 一个Web自动化测试的简单方法(web自动化测试怎么做)
- 2025-04-06 软件测试|web自动化测试神器playwright教程(一)
- 2025-04-06 测试小白基于java的selenium自动化测试环境搭建(一)
- 2025-04-06 人工智能丨DeepSeek自动生成测试用例方法
- 2025-04-06 软件测试进阶之自动化测试——python+appium实例
- 2025-04-06 「总结」用selenium工具做软件自动化测试的面试题及答案,码住
- 2025-04-06 一文掌握:5大自动化测试难题及高效解决方案
- 2025-04-06 利器 | Java 接口自动化测试首选方案:REST Assured 实践 (一)
- 2025-04-06 Java自动化测试,必备知识梳理及面试题分享
你 发表评论:
欢迎- 最近发表
-
- 一招解决vscode报java插件版本不一致以及相关缓存引起的问题
- 关于Java 8版本的理解(java中的接口怎么理解)
- Java 9 到 Java 16 的版本演进:一次模块化革命和语言的持续进化
- 如何选择合适的Java版本(如何选择jdk版本)
- 晚会互动小游戏(晚会节目互动小游戏)
- 基于JavaSwing的象棋游戏系统java休闲游戏jsp源代码Mysql
- Java 猜字母游戏!会写会玩才是真本事!
- 基于JavaSwing的贪吃蛇大作战java休闲游戏jsp源代码mysql
- Java & Python 康威生命游戏 - 命令行版
- 高玩随机种子无损速通《我的世界》10分钟不到刷新世界纪录
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)