单元测试? 集成测试? ,
- 单元测试的意义是测试”单元”, 测试自己写的代码该怎么样, 而不是别人的代码该怎么办.
- 单元测试是保证软件质量的第一步. 可以没有集成测试,但是单元测试一般是必须的.
- 单元测试的目标是测试逻辑逻辑自恰, 测试逻辑是否按预期发生. “预期”指屏蔽主观影响的输入产出主观的输出;
- 单元测试关注程序语义, 而架构设计关注自然语义
TDD,BDD一类的都是啥?
- 一般代码开发的最佳实践?
- 写基本逻辑
- 逻辑优化
- 在外部依赖, 复杂依赖逻辑出添加断言assert
- 添加性能统计埋点
- 单元测试
- 集成测试
- 冒烟测试, 系统测试(关注性能, 执行预期)
写测试用例,到底写什么
测试用例构建考虑哪些方向?
- fake构建随机多类型,范围输入, java验证npe,ioe等基础问题
- 验证临界问题, 字段数据类型边界集等
- 过程式/低效式实现一个复杂逻辑/算法, 验证原有设计;
- 一般尽量保证覆盖率逻辑100%,行70%+;
函数桩怎么打?
- 抛弃入参本身的构造逻辑, 关注点集中在函数本身
- 单元测试关注程序语义, 核心是确认是否安与执行指定的流程;
- 举个栗子🌰?
- 一个函数想象成为现实生活中门锁锁芯, 无论你安装到小区防盗门, 小区大门,还是医院的x-ray门, 只要你按照锁芯结构要求, 让锁芯达到预期的形状, 就能打开门锁; 而且多个人同时解锁同样锁芯, 那肯定是同样规格的多个锁芯, 而不会是多个人同一个锁芯;
- 一些场景的测试case
- try,catch包裹的代码?
- “死循环”的代码?