课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
我们在上文中给大家简单介绍了软件开发程序员代码重构的时候需要关注的问题类型等内容,而今天我们就再来说说,与代码相关的测试都有哪些。
一是代码的可读性,我们看到现有的代码就应该可以理解代码作者的意图是什么,这样我们在修改bug的时候就更容易把握。比如函数,类或者组件的功能要单一化,命名要友好,要删除一些误导性的注释,对于一些没用的代码,要毫不客气的抛弃。
二是设计模式的可参考性。设计模式的好处就是提供一种可以追寻的代码扩展轨迹,新的功能可以遵循这种轨迹模板进行添加,从而获得复杂度线性增长的效果。
三是白盒测试的完善性。尽管我们有非常强大的测试团队,对于黑盒测试方面有很多的经验和心得,但是现在我们有很多项目缺乏白盒测试案例,这使得开发者在进行重构的时候,面临非常尴尬的境地。没有充分的白盒测试案例,重构工作会举步维艰,有一种瞎子摸象的感觉。
现在就说一下白盒测试这一部分。测试的框架应该在项目开始阶段或者重构开始前搭起来。等部分代码成型的时候,逐步的添加必要的测试案例。测试案例的选取可以按照环形复杂度的计算方法来确定,也可以根据集成测试对应的用户需求来确定。
与代码相关的测试,一般有单元测试,集成测试和系统级的测试。
单元测试,一般被认为非常繁琐。单元测试的繁琐主要体现在测试案例的选取上,如果使用全覆盖方式来选取测试案例的话,会产生大量的测试代码,以后维护起来也是一个负担。如果采用环形复杂度来选取测试案例的话,会产生适量的测试代码,但是环形复杂度的计算也是一个很大的时间开销。
集成测试跟客户的实际业务需求相关。在这个过程中需要理清接口的输入与输出,以及运行路径,然后据此来设计测试案例,写出测试案例代码。
开发人员一般不会拒绝写集成测试。因为她带来的好处是实实在在的,会极大的提高你的开发效率和调试效率。尤其是对于无界面的程序接口尤为重要。
系统级测试是大系统中子系统之间的集成测试。这个主要包含两个方面:
一个方面是有界面的自动化测试,通过这样的测试架构来模拟人类用户的使用过程,同时增加一些随机性的行为,试图能够找出系统的一些漏洞。
另一种是无界面的测试,体现在多个服务系统之间的调用上或者类似浏览器自动化框架的使用上。
一套完整的测试系统,可以帮助工程师提高开发效率,减少以后系统维护和重构的成本。
从测试的紧迫性上来说,集成测试为必要,系统间的测试有时候使用手工测试通过一些测试工具来代替。单元测试可以有很广阔的讨论空间,这部分要具体问题具体分析。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请在707945861群中学习了解。