test

单元测试(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