测试理论作为测试实践的依据,在
面试中会被经常提问到。只有在基础理论上下足了功夫,面试才能够顺利进行。
13.2.1 软件质量
软件质量是指满足用户在功能和性能方面的需求、遵循规定的标准和规范以及具备某些公认的特质。一个高质量的软件应该满足用户需求、能够在一定程度上适应需求的变更、有效的处理例外能力以及可持续发展。影响软件质量的因素是多方面的,例如正确性、可靠性、性能、健壮性、效率、完整性、可用性、安全性、可理解性、可维修性、灵活性、可测试性、可移植性、可再用性、兼容性等。
示例1:你认为一个高质量的软件应该具有哪些特性?
在考察软件质量的同时也考察着在
测试用例设计时可以从哪些方面考虑。
解答:一个高质量的软件应该满足用户需求、能够在一定程度上适应需求的变更、有效的处理能力以及可持续发展,除此之外还要兼顾成本。在测试中保障高质量的软件可以从功能、性能、兼容性、易用性、可靠性、安全性、可维护性、可移植性几个方面考虑。软件质量模型如图13-1所示。
图13-1 软件质量模型
解答:对于新研发的软件,在没有进行测试之前很难想象它的质量是怎样的,如果直接上线就可能会出现宕机、死顿、功能模块不能使用等情况,使软件不受用户喜爱、企业名誉扫地。软件测试就像ISO质量认证一样,也需要质量的保证,这时就需要在团队中开展软件测试的工作。在测试过程中发现软件存在的问题,并及时让开发人员得知并修复,在软件发布后就不会出现一些使用户讨厌的问题。如果软件质量得到保障,就会赢得用户的心,树立起企业信誉。
示例3:你认为进行软件测试的目的是什么?
软件测试有两个目的,一个是预防错误,另一个是发现错误,以保证产品质量。
解答:由于
软件开发是人的创造性劳动,人的活动不可能完美无缺,错误可能发生在任何一个阶段,因此预防错误这一目标几乎是不可实现的,软件测试的目标可定义为只是发现错误。
软件测试是为了发现错误而执行程序的过程。
一个好的测试用例能够发现至今尚未发现的错误。
一个成功的测试是发现了至今尚未发现的错误。
示例4:在项目中你是如何保证软件质量的?
主要考察
求职者对测试工作有没有自己的思考和认识,同时也考察对测试的理解。
解答:项目质量不是依靠某个人来保障的,而是需要整个团队一起努力。首先,需要在公司级别制定一个规范的项目流程;其次,对于产品做好充足的计划和预判,保证迭代过程中的产品逻辑,对于可能出现的风险给出解决方案。在产品设计上,满足产品表达的同时,也需要保证设计的延续性;开发产品时,细节需要到位,
技术方案选择需要严谨,严格遵循开发规范操作;测试方面,验证产品逻辑的同时,要多站在用户角度进行验证,尽可能多地使用技术手段保证测试质量;最后也是最重要的,每个版本结束后需要进行总结,对本次版本的工作进行回顾,对下一个版本进行预估。