丁哥看软件(十):测试
【摘要】 如果测试代码没有起到应有的价值,写测试代码也是没有意义的。
现在说一下软件开发中的测试。与代码相关的测试,一般有单元测试,集成测试和系统级的测试。
单元测试,一般被认为非常繁琐。单元测试的繁琐主要体现在测试案例的选取上, 如果使用全覆盖方式来选取测试案例的话,会产生大量的测试代码,以后维护起来也是一个负担。如果采用环形复杂度来选取测试案例的话,会产生适量的测试代码,但是环形复杂度的计算也是一个很大的时间开销。
集成测试跟客户的实际业务需求相关。在这个过程中需要理清接口的输入与输出,以及运行路径,然后据此来设计测试案例,写出测试案例代码。
开发人员一般不会拒绝写集成测试。因为他带来的好处是实实在在的,会极大的提高你的开发效率和调试效率。尤其是对于无界面的程序接口尤为重要。
系统级测试是大系统中子系统之间的集成测试。这个主要包含两个方面:
一个方面是有界面的自动化测试,通过这样的测试架构来模拟人类用户的使用过程,同时增加一些随机性的行为,试图能够找出系统的一些漏洞。
另一种是无界面的测试,体现在多个服务系统之间的调用上或者类似浏览器自动化框架的使用上。
一套完整的测试系统,可以帮助工程师提高开发效率,减少以后系统维护和重构的成本。
从测试的紧迫性上来说,集成测试最为必要,系统间的测试有时候使用手工测试通过一些测试工具来代替。单元测试可以有很广阔的讨论空间,这部分要具体问题具体分析。
如果只是为了应付检查而写测试代码,是没有意义的。
如果测试代码没有起到应有的价值,写测试代码也是没有意义的。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)