单元测试(Unite Test/UT)
- UT应由开发人员写,给开发人员使用。
- UT测试的应该是小段代码,目的是开发人员确定源代码做了希望它做的事。
- 一个UT case只能针对一个类。不应该在一个UT case中测试一个以上的类。
常用工具:JUnit/TestNG。(方法上加@Test注解即可)
几乎所有常用的 IDE,都能够集成 JUnit,这意味着开发者直接可以在这些 IDE 中编写并运行单元测试。
Mockito简单实用
集成测试(Integration Test/IT)
- IT通常会在指定的环境运行集成测试。
- 集成测试的目的旨在测试各个组件间是否能互相配合,正常工作。
- 集成测试往往会涉及外部组件,如数据库,硬件,网络等等。
常用工具:ACTS(蚂蚁金服研发的集成测试框架)/TestNG。(需要启动spring容器)
白盒黑盒测试
黑盒:通过指定的输入得到希望的输出。
通常情况下,UT是白盒测试,而其他的测试则大部分是黑盒测试。白盒测试下的覆盖率才可靠。
Mock使用场景
- 对DAO层(访问mysql、oracle、tair、tfs等底层存储)的调用mock等。
- 对系统间异步交互notify消息的mock。
- 对method_A里面调用到的method_B 的mock 。
- 对一些应用里面自己的class(abstract, final, static),interface,annotation,enum,native等的mock。
系统性能指标
- 响应时间
指某个请求从发出到接收到响应消耗的时间。请求的平均响应时间、系统的平均响应时间。 - 吞吐量
指系统在单位时间内可以处理的请求数量,通常使用每秒的请求数来衡量。在没有并发存在的系统中,请求被顺序执行,此时响应时间为吞吐量的倒数。 - 并发用户数
指系统能同时处理的并发用户请求数量。 - PV(Page View)页面访问量
即页面浏览量或点击量,用户每次刷新即被计算一次。可以统计服务一天的访问日志得到。 - QPS(Queries Per Second)
意思是“每秒查询率”,是一台服务器每秒能够响应的查询次数。 - TPS(Transactions Per Second)
也就是事务数/秒。
Apache JMeter
https://jmeter.apache.org/usermanual/index.html
https://blog.csdn.net/yaorongke/article/details/82799609
Get Started
Test plan, understand major concepts
Load Test, GUI mode, CLI mode
runs the JMeter Mirror Server in CLI mode, distributed testing
environment variables, JMeter classpath
Elements of a Test Plan
Test Plan, a Thread Group and one or more Samplers.
Test Plan
cause JMeter to record the data returned from the server
Thread Group
Controllers
two types of Controllers: Samplers and Logical Controllers
Listeners, Timers
Execution order
Using Variables to parameterise tests