1.我遇到了许多软件工程师,他们认为他们在某种程度上优于QA工程师。我认为,如果他们在一段时间内担任质量检查工程师的工作,并且意识到这是一种独特而有价值的技能,可能会有助于打破这种信念。
优秀的软件工程具有质量背景,包括测试,指标和统计信息。任何进行任何类型的软件开发的人都应该知道(如果不熟悉)以高质量的源代码维护和产生/维护有效的测试用例。随着时间的流逝,我怀疑任何软件开发人员都会对质量的不同方面有所了解-代码质量,可移植性,可维护性,可测试性,可用性,可靠性,效率和安全性。
软件工程师可能会专注于生命周期的特定方面-需求工程,架构和设计,构造,测试和维护。但是,无论您关注什么重点(无论是工作还是项目的当前阶段),记住质量都是很重要的。
2.软件工程师测试自己的程序的能力越强,在整个软件开发生命周期中进行代码时所花费的时间成本就越少。
可能是真的。但是某些问题最好在以后的开发中看到。例如,在集成之前可能看不到性能和效率问题。拥有良好,可靠的代码和有效的单元测试只是开始。质量需要从需求开始,并一直贯穿于维护活动。
3.软件工程师花更多的时间思考程序如何崩溃,他们在开发它们时会更多地考虑这些情况,从而减少最终产品中的错误。
这是完全正确的说法。但是话又说回来,由需求工程师来验证需求中是否没有冲突,由架构师确保设计确实满足需求,依此类推。每个人都应该尝试戳破他们的工作中的漏洞,然后与适当的人一起工作,以使他们紧密而紧密地联系在一起。
4.软件工程师对“完整”的定义总是很有趣的……如果他们花时间担任质量检查工程师,那么这个定义可能会更接近软件设计者的需求。
“完全”只能根据要求进行度量。满足要求并完成了项目,或者存在不完整的要求而未完成的项目。任何其他完整的衡量标准都是没有用的。