论软件工程师的自我修养:角色、重构与质量 (3)

另一个软件高质量的重要指标是代码的白盒可测性。测试的框架应该在项目开始阶段搭起来。等部分代码成型的时候,逐步的添加必要的测试案例。测试案例的选取可以按照环形复杂度的计算方法来确定,也可以根据集成测试对应的用户需求来确定。

接下来进一步细说一下软件开发中的测试。与代码相关的测试,一般有单元测试,集成测试和系统级的测试。

单元测试,一般被认为非常繁琐。单元测试的繁琐主要体现在测试案例的选取上, 如果使用全覆盖方式来选取测试案例的话,会产生大量的测试代码,以后维护起来也是一个负担。如果采用环形复杂度来选取测试案例的话,会产生适量的测试代码,但是环形复杂度的计算也是一个很大的时间开销。

集成测试跟客户的实际业务需求相关。在这个过程中需要理清接口的输入与输出,以及运行路径,然后据此来设计测试案例,写出测试案例代码。

开发人员一般不会拒绝写集成测试。因为她带来的好处是实实在在的,会极大的提高你的开发效率和调试效率。尤其是对于无界面的程序接口尤为重要。

系统级测试是大系统中子系统之间的集成测试。这个主要包含两个方面:

一个方面是有界面的自动化测试,通过这样的测试架构来模拟人类用户的使用过程,同时增加一些随机性的行为,试图能够找出系统的一些漏洞。

另一种是无界面的测试,体现在多个服务系统之间的调用上或者类似浏览器自动化框架的使用上。

一套完整的测试系统,可以帮助工程师提高开发效率,减少以后系统维护和重构的成本。

从测试的紧迫性上来说,集成测试最为必要,系统间的测试有时候使用手工测试通过一些测试工具来代替。单元测试可以有很广阔的讨论空间,这部分要具体问题具体分析。

如果只是为了应付检查而写测试代码,是没有意义的。

如果测试代码没有起到应有的价值,写测试代码也是没有意义的。

工程师是软件高质量的主要执行者。项目组长,架构师和开发经理是软件高质量的护航者和守护者。

所以不能放任让工程师从下而上的去保证软件质量,这个要求对工程师来说过高了。

小结

最后提一下工程师文化和主人翁精神。对于工程师文化的内涵,我认为包含如下几点:

(1)工匠精神,对于所做的事情有着精雕细琢的热忱。

(2)试错文化,勇于尝试,愿意做第一个吃螃蟹的人。

(3)自律,这个自律是指“吾日三省吾身”。不断的自我纠错反省提高。

对于主人翁精神,不管做什么工作,只要想充分发挥自己的能力,真正的做些事情,不管级别如何,薪水多寡,简单地说,就是时刻把所做的事情当作自己的事情来做。否则的话,时刻斤斤计较,我们做事情的时候就无法全力以赴。

如果抱有患得患失的心态,我们的工作效率就会下降。久而久之,不仅赚不到想赚的“大钱”,也会阻碍自己能力和心境的提高,可谓是捡了芝麻,丢了西瓜。时间是宝贵的,真的不容浪费。

对于主人翁精神的一些具体表象很多,诸如:从来不说“这不是我的事”;做事情不为了短期利益而牺牲长期利益;等等。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpfsdf.html