Skip to main content

02.测试

测试是软件工程迭代和重构的有力保障。通过给出特定输入,并判断输出是否期待的结果从而断定局部的业务代码是否正常工作,而专门处理这些事的代码就是测试代码,这种代码自检方式可以给开发者带来更多的信心从而进一步优化软件。
而软件的测试又根据测试粒度的由小到大又分为: 单元测试、集成测试和黑盒测试。
单元测试是顾名思义就是最小的测试,通常是对一个功能性方法或函数的输入和输出进行测试,如给出特定的参数调用一个函数,返回期待的结果则测试通过。单元测试多用于核心的代码,要求代码健壮可靠,如底层的各种库等.
集成测试相对于单元测试粒度更大,则通常是对一项功能的测试,如常见的测试一个http请求接口,那么给出特定的参数并只需关心这个http的请求的响应是否满足期待的结果,来判定测试是否通过而无需关注底层是怎么处理。常用于软件工程的业务测试
而粒度大黑盒测试则是完全从用户使用的角度来模拟用户进行测试。这个需要专门的工具,如python自动化测试等待

关于golang的测试

golang有内置的测试工具go test,如测试代码写在http-api/tests包下, 则:

$go test http-api/tests -v -count=1   
=== RUN TestAllApi
api_test.go:33: Currently requested link: /authorizations
api_test.go:33: Currently requested link: /authorizations
--- PASS: TestAllApi (0.01s)
=== RUN TestAllPages
--- PASS: TestAllPages (0.00s)
PASS
ok http-api/tests 0.013s

则这个包下的测试代码会自动跑起来。 你可能会不明白, 下次再说,怎么写测试