一个合格的手机软件测试工程师要掌握的东西是很多很多的。在我个人理解中,一个合格的高级手机软件测试工程师应该具有最基本的两点知识:软件测试理论知识和一定的开发技能。
1. 软件测试理论知识
这个不用多说,软件测试工程师必须要掌握的,软件测试如何融入整个开发的流程,什么时候介入,什么时候结束,如何搭建测试环境,如何设计测试用例 (包括设计测试用例的方法,如:等价类划分,边界值法等),如何使用测试工具,还有测试领域专用的一些术语等等。
2. 开发技能
合格的高级软件测试工程师,编程技能不可缺少。在手机测试中,比如自动化测试,完全可以开发工具来实现自动化测试。所以掌握一门扎实的编程语言,C或者C++还是非常重要的,能够自己开发测试工具,也是一个高级手机软件测试工程师应该具备的素质。我认为我们不应该只是单纯的发现bug,而应该从更深层次的去探究这个 bug的原因,甚至可以定位bug。
另外从技能上讲,面向不同的技术方向,像操作系统、 络、通信等都要从专业上深入了解。这些是除去工作时间外必须去加强充电的部分。有这些做后盾,做起事来也会事半功倍。
另外手机测试中应该注意的问题
首先是正确性测试,正确性测试又可称为功能性测试,我们首先就是要测试所有功能是否都已实现、正确、是否满足需求规格说明。
正确性测试还要考虑到用户界面,软件产品始终是关注软件使用者——客户的体验,手机屏幕小,界面有限,所以手机软件的用户界面更需有一定的规范和标准:正确性、一致性、直观性、实用性、灵活性、舒适性便是最基本的标准。
正确性一般比较明显,比较容易发现,例如某个窗口没有被完全显示,文字没有对齐,文字拼写错误,密码输入时没有以*的形式自动屏蔽等。
一致性包括软件自身的一致性以及手机操作系统或与其它软件的一致性,具体表现在使用的术语,字体是否一致,界面的各参数风格是否前后一致等。特别也要注意中英
文版本下界面风格是否一致,是否有中英文混合的情况。
直观性要求软件功能特性易懂、清晰,用户界面布局合理,对操作的响应是否在用户的预期中,如用户做了非法操作后,界面是否有错误的提示信息,提示信息是否完整,是否明确,是否能让用户立即明白问题所在。
实用性不是指软件本身是否实用,而仅仅是指具体的某个特性是否实用,是否有助于用户执行该软件的功能,手机软件是安装在手机上的第三方软件,手机不同于PC机,功能没有PC机强大,在手机上实现的功能也不同于在PC机上的功能,所以功能不应复杂,无用的功能只会增加程序的复杂度,产生不必要的软件缺陷。但是个人觉得有些必要的功能还是一定要有的,如:随时可以退出应用程序这个功能还是很必要的,用户进入多层之后,若想退出应用程序,但是又要一层一层返回到最上一层才能退出时,也是一件很烦很头疼的事。
灵活性,按我个人现在的理解,具体表现在,如果多种状态之间的切换,例如界面的不停切换,操作步骤的复杂,增加了编程的难度,可能也会降低软件的可靠性,这时软件的灵活性将会大打折扣。特别是在我们测试触屏手机的时候,界面的切换经常会导致一些界面卡住,乱码,黑屏,死机的情况,所以我们在测带有触屏手机时,一定要注意到灵活性。
舒适性主要强调界面美观,色彩运用恰当,按钮的立体感以及增加动感动画等。例如颜色的搭配,有些背景色跟文字或图片的颜色搭配在模拟器可以较清晰的显示出来,但是到了手机由于其分辨率问题就不那么明显了。颜色搭配要以清晰美观为基础,还要适当考虑用户心理等问题。
除了测试软件的正确功能,及其更需要考虑一些异常的情况,异常的情况也分多种考虑,如下:
1、容错性测试
容错性测试是一种对抗性的测试过程。在这种测试中,把应用程序或系统置于异常条件下,例如输入特殊字符或异常字符,具体可以通过输入超过边界值的字符(这也相当于用例设计方法中的边界值分析法)看后台有没有相应的容错处理。手机客户端界面会给出什么样的提示信息。另外还要测试多个客户端同时发出请求,测试后台的多线程处理能力,看能同时处理多少用户的同时请求,平均响应时间是多少,是否在可接受范围内。
2、测试应用程序中的一个功能正在执行过程中,同时另外一个事件或操作对该过
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!