程序员应该学习的提高软件质量的实用技术

金无足赤,人无完人。在软件行业里,想要开发出一件没有bug的产品简直是天方夜谭,甚至开发出一款高质量的产品也会难于上青天。但是实践出真知,一些开发者总结平时项目开发经验,通过提高测试覆盖率和使用一些质量工具来提高产品质量。

当项目经理开始着手一个大型软件项目时,就得思考产品质量问题了,并且从测试就要开始关注。然而并非所有的测试都是一样的,下面提供一些常见的测试类型:

单元测试

不变条件测试(断言等)

功能测试

压力测试

性能测试

可伸缩测试

基于用户的负载测试

场景测试


编写测试时,最困难的事情之一莫过于决定测试什么?当产品有很多功能的时候,大家都可以随意用,真正关键的难题是你如何将这些功能有系统的组织(串联)起来。

大家可以编写测试矩阵,最后把所有的功能大小都写下来,并且汇总到一个大的电子表格中,然后再移交到工程团队。

你可能会编写许多测试,但集成测试允许开发者排除陷入瘫痪的异常来做出更深的修改。这样的集成应该做到快速、可伸缩,你需要stellar测试基础设施来自动执行添加、管理以及运行测试等操作。一个构建良好的执行系统,其执行功能测试的速度会安全快速地提升。

构建一个良好的测试基础设施类似于为开发团队编写消费类产品。一个完美的测试执行系统在每次推送后,会运行整个测试套件。