现在做物理网项目,需要针对设备做嵌入式开发,当开发完成后我们应该做什么?Sure,进行测试。
通常的做法都是我们会事前准备好测试用例,当开发完成后,我们根据测试用例执行测试。当我们执行完测试用例后,是不是意味着我们的设备没有问题了呢?
我把常规性测试当成实验室测试。涉及到硬件,往往常规性测试是远远不够的,这时就需要我们走出实验室,尝试做更多的测试。
比如原来我看到一个关于冰箱的测试,如果里面放置过多的啤酒,易拉罐之类的物品,很容易因为长时间的冰冻爆炸。如果没有做这方面的安全考虑,那不可避免会造成安全事故。又如前两年某一款知名手机,没有考虑到高温环境下的处理,导致高温天气下手机按键具体失灵。
这些例子都不能一概说测试人员的水平不够,而更多可能是测试人员接触的环境过于局限,导致产品投入使用后出现灾难性的故障。
又如涉及摄像机方面的开发,在大部分情况下摄像机可能都会非常稳定的工作。但很多时候,由于特殊复杂的地理环境,可能会导致光敏电阻失灵而不能及时补光,或者用户视觉感官上的误解,导致设备没按心里预期的方式工作。这些问题我们在实验室中无法获知的。而且很多时候缺陷也不是通过软件优化和升级能够完全规避的,这时可能需要借助更多的方式方法去处理,例如需要从施工,从物理场景部署规范等。
具体应该怎么做呢,我总结有以下几点:
1、充分做好实验室内的测试。如果我们连起码的功能都存在过多的缺陷,部署到现场会遇到更多的问题,造成坏的影响和代价。
2、事前规划好远程调试功能。相信部署到现场后,没有几人愿意整天盯着设备运行,所以我们要提前做好远程调试功能,包括设备运行日志打印,远程的日志获取以及升级。
3、选具有代表性的场地,应尽可能全面。根据运行的环境(包括外部环境)不同,设备运行的反馈的结果也不尽相同。这时就需要我们选择好具有代表性的场地,尽可能全面的覆盖到每种情况。
4、定期收集问题,进行分类整理,并根据情况进行优化处理。
上面就是我在做物联网测试的一点心得体会。仅作为抛砖引玉,希望有更多的测试同行进行更精辟的总结。