都说测试是产品投入生产的最后一道防线,那么软件测试则是在软件交付使用之前的进行的最后一次全面化的“消毒”。
作为一名软件设计师,相信很多人和刚接触软件测试的我一样,处于一知半解的状态,在这里我将简单介绍一下对软件测试的初步理解。
测试的思路是假设程序存在缺陷然后执行程序来发现缺陷。我们中试小组的测试属于黑盒测试—就是在不知道程序内部结构下按照规格测试程序是否符合要求。
我们可以从如下几个主要方面思考:
测试内容
1、功能测试
检查软件的功能是否符合要求。方法:构造合理的输入,看是否有期望的输出。边界值方法:采用定义域的边界值进行测试。对于边界值法,刚接触功能测试的我就忽视了这个方法,在测试的时候我们在极限的输入下观察电机是否能够正常运行。
软件工程师
比如我们伺服产品的可靠性测试,检验驱动器的同步性,一致性,稳定性,抗干扰性,模拟客户现场的运行方式,测试程序是否会出现难以预料的崩溃,以达到对伺服功能的全面检测。
我们还会进行环境试验,验证驱动器在各种环境下能否正常运行。
2、容错性测试
上述讲的是在合理的输入下,那么还要检查软件在异常情况下的反应,容错性的试验就是保证程序不会发生不可预料的故障。设置一些不合理的参数输入驱动器中看系统的反应。这也另一方面验证保护系统做的是否及时。
3、性能与效率测试
测试软件反应的速度和对资源的利用率。硬件与软件总是不可分割,相辅相成的。
从上图我们可以看到本公司伺服产品的过载能力很大,且实际测试出的图形与理论值基本吻合。完全符合软件和硬件的设计理念。
4、测试文档
记录测试方法,测试的问题,对Bug和测试的步骤的描述要准确,详细,最好有图片和数据呈现。
我们公司的伺服产品存在很多优点,比如在过流保护上,我们可以看到其过流保护的时间精确到6.25us,几乎是在发生过流故障时达到瞬时的停机保护,最大程度上减少损失。
还有下图中驱动器中各种元器件的温升图,可以看出元器件在运行时温度上升到一定值达到稳定。
百兆以太网眼图测试,将信号逐帧扫描,看是否会触碰眼图禁止区域。用来判断通讯的成功率。下图呈现的测试波形可以看出我们做的通讯抗干扰能力还是很强大的!
自加入软件测试工作以来,我对这项工作最大的感悟就是要细心,负责,严谨,有耐心,考虑要全面,我们要尽最大努力做好最后一道防线,保证客户用的安全,方便,省心,放心。