Erlang测试全集(挖坑)
Erlang测试全集(挖坑)
本次只是简要列举Erlang测试相关的框架和概念,Erlang测试的详细使用在实际使用时再进行补充(挖坑),目前所有的Erlang程序中除部分公共基础app需要写单元测试和覆盖率报告之外其他都不需要写。
后续会按照以下四个部分介绍Erlang测试相关知识
- EUnit
- Common Test
- Cover
- Quality Control
EUnit
白盒测试,使用EUnit框架,主要参考以下资料:
Common Test
Common Test简写为CT
黑盒测试,使用CT框架,趣看公司所有的单元测试都是基于CT,即只写黑盒
- CT入门示例-Erlang Common Test Examples
- 淘宝储霸-rebar和common_test使用实践和疑惑澄清
- 淘宝储霸-Erlang开发实践-可重点阅读
- Erlang官方-Running Tests and Analyzing Results
- EUC2009-CommonTestPresentation.pdf
Cover
代码测试覆盖率,代码覆盖率的意义在于:
- 分析未覆盖部分的代码,从而反推在前期测试设计是否充分,没有覆盖到的代码是否是测试设计的盲点,为什么没有考虑到?需求/设计不够清晰,测试设计的理解有误,工程方法应用后的造成的策略性放弃等等,之后进行补充测试用例设计。
- 检测出程序中的废代码,可以逆向反推在代码设计中思维混乱点,提醒设计/开发人员理清代码逻辑关系,提升代码质量。
- 代码覆盖率高不能说明代码质量高,但是反过来看,代码覆盖率低,代码质量不会高到哪里去,可以作为测试自我审视的重要工具之一。
EUnit和Common Test都可以产生coverage report,参考:
Quality Control
QC,即质量控制,主要是压力测试,可以使用Tsung压力测试工具(由Erlang编写)
- api
- mysql
- console
Erlang的优点
偶然间看到淘宝储霸关于Erlang的优点的阐述,觉得很精辟,所以写在最后
Erlang的优点(为什么选择使用Erlang实现)
- 高并发、高性能、集群易扩展
- 时间检验的高可靠
- 强大的管理功能,方便的问题定位支持
- 强大的交互性,与其他系统整合能力
- Erlang独特的世界观
- 世界是并行的
- 万物皆独善其身
- 万物皆通讯
- 天有不测风云
Erlang测试全集(挖坑)
https://suncle.me/posts/3013774428/