项目在分析、设计、实现、组装后,就进入测试环节,测试作为检测我们设计的软件是否满足设计的功能需求,及其性能需求及其隐性需求起着重大的作用,作为最后成形的产品,可能在一些功能或是设计上存在缺陷,或是对于用户的需求歪曲的设计,都可以在测试环节找出来,予以修正。
因此从这个角度上看,我们应该是重视软件测试,软件测试是提高软件质量的一个重要手段。据国外一些开发公司的统计,一般是设计:实现:测试人员投入的比例是1:3:3,可见对于测试的重视程度。
那么测试也应该有测试的工作方法,首先要制作测试计划,选好测试模型,制定好的测试用例,然后进行评审。我觉得测试用例设计很重要,测试用例,要覆盖软件的功能,操作的一般情情况,特殊情况,爆力等特殊操作,设计用例还要能兼顾到新的bug等。总之好的测试用例,使我们能更快的发现软件的软肋,减少重复性的工作,减少软件中遗露的缺陷。
测试用例设计也是一个经验的积累过程,一个优秀的测试工程师,必能找出一些通用的缺陷,即有些测试用例也是可重用的。
有了测试用例,我们就过可以按这些用例去,去一个个的检验我们的软件产品。找出其中的缺陷,然后交给开发组进行修正,再跟踪测试。
我们在提交测试后,一般会根据上轮测试,修正一些bug或是逻辑错误,产生一些新版本,然后再提交新的版本测试,那么在中间这一轮轮的测试中,是否每次都要进行覆盖测试呢,我个人觉得,如果前一两轮测试得较认真,那可以在有新版本的测试程序后,可以丢掉原版本的程序,在新版本的程序进行测试,测试的优先级别是先测bug是否修复,然后测上个版本没测的用例,直到全部测试完或是有一个新的版本出现,再丢弃用新的版本测试。
经过多轮测试修复好,最后再进行全方位的覆盖测试,我想软件这时的功能质量都应该是比较有保证的。
整个测试过程,均以需求基本要求,以测试用例为测试的指导。