第一篇:软件测试工程师手机软件测试流程
手机软件测试流程
我只知道手机软件测试包括:
基本功能设置(本机设置)测试;对于整个菜单结构进行逐一检测,验证在整个菜单中是否所有的功能都已经实现,以及在操作过程中是否有异常状况出现;
容错性测试,输入手机允许范围之外的数据进行测试,检测反应状况;
边界测试,输入手机允许条件的边界进行测试,检测是否有异常现象出现;
异常中断测试,在进行相关操作的同时,有其它事件发生,查看终端有什么现象产生;
回归测试
易用性测试
兼容性测试
通话测试(强信号、弱信号以及强信号&弱信号之间切换测试);
第二篇:手机软件测试
手机软件测试同软件测试一样,只不过他的平台式手机,也是嵌入式的一部分!工作就是测试软件可以在手机上正常使用,不会产生各种异常情况!测试方法也比较多……
首先测试一般是把流程走通,这是最基本的,你的软件需要实现什么功能和实现了什么功能,严格按照需求,即使是可用的功能,需求没有的话,那也是Bug。
软件的可用性和体验性
交互性:这一块的Bug应该是最多,举一个简单的例子,使用软件的过程中来短信和来电,如果你的软件是基于网络的,这一块肯定会有很多问题。而且,手动的将网络断开再恢复,请求会不会重新发送,这一点也是需要考虑的。
将软件中的控件和手机的按键结合起来测试。
还有你要明确软件的平台,兼容性需要考虑,如果是一个平台的,但是分辨率不一样,会使得界面元素丢失等,如果是键盘和触屏,那又要分情况考虑了。
找Bug就是要把软件玩死,就要充分考虑异常的操作,测试不是找开发的错误,而是想开发没想到的东西,场景是否面面俱到,错误处理是否健全。
第三篇:手机软件测试经验总结
手机软件测试总结
沙晶晶
一个合格的手机软件测试工程师要掌握的东西是很多很多的。在我个人理解中,一个合格的高级手机软件测试工程师应该具有最基本的两点知识:软件测试理论知识和一定的开发技能。
1.软件测试理论知识
这个不用多说,软件测试工程师必须要掌握的,软件测试如何融入整个开发的流程,什么时候介入,什么时候结束,如何搭建测试环境,如何设计测试用例(包括设计测试用例的方法,如:等价类划分,边界值法等),如何使用测试工具,还有测试领域专用的一些术语等等。
2.开发技能
合格的高级软件测试工程师,编程技能不可缺少。在手机测试中,比如自动化测试,完全可以开发工具来实现自动化测试。所以掌握一门扎实的编程语言,C或者C++还是非常重要的,能够自己开发测试工具,也是一个高级手机软件测试工程师应该具备的素质。我认为我们不应该只是单纯的发现bug,而应该从更深层次的去探究这个 bug的原因,甚至可以定位bug。
另外从技能上讲,面向不同的技术方向,像操作系统、网络、通信等都要从专业上深入了解。这些是除去工作时间外必须去加强充电的部分。有这些做后盾,做起事来也会事半功倍。
另外手机测试中应该注意的问题
首先是正确性测试,正确性测试又可称为功能性测试,我们首先就是要测试所有功能是否都已实现、正确、是否满足需求规格说明。
正确性测试还要考虑到用户界面,软件产品始终是关注软件使用者——客户的体验,手机屏幕小,界面有限,所以手机软件的用户界面更需有一定的规范和标准:正确性、一致性、直观性、实用性、灵活性、舒适性便是最基本的标准。
正确性一般比较明显,比较容易发现,例如某个窗口没有被完全显示,文字没有对齐,文字拼写错误,密码输入时没有以*的形式自动屏蔽等。
一致性包括软件自身的一致性以及手机操作系统或与其它软件的一致性,具体表现在使用的术语,字体是否一致,界面的各参数风格是否前后一致等。特别也要注意中英文版本下界面风格是否一致,是否有中英文混合的情况。
直观性要求软件功能特性易懂、清晰,用户界面布局合理,对操作的响应是否在用户的预期中,如用户做了非法操作后,界面是否有错误的提示信息,提示信息是否完整,是否明确,是否能让用户立即明白问题所在。
实用性不是指软件本身是否实用,而仅仅是指具体的某个特性是否实用,是否有助于用户执行该软件的功能,手机软件是安装在手机上的第三方软件,手机不同于PC机,功能没有PC机强大,在手机上实现的功能也不同于在PC机上的功能,所以功能不应复杂,无用的功能只会增加程序的复杂度,产生不必要的软件缺陷。但是个人觉得有些必要的功能还是一定要有的,如:随时可以退出应用程序这个功能还是很必要的,用户进入多层之后,若想退出应用程序,但是又要一层一层返回到最上一层才能退出时,也是一件很烦很头疼的事。
灵活性,按我个人现在的理解,具体表现在,如果多种状态之间的切换,例如界面的不停切换,操作步骤的复杂,增加了编程的难度,可能也会降低软件的可靠性,这时软件的灵活性将会大打折扣。特别是在我们测试触屏手机的时候,界面的切换经常会导致一些界面卡住,乱码,黑屏,死机的情况,所以我们在测带有触屏手机时,一定要注意到灵活性。
舒适性主要强调界面美观,色彩运用恰当,按钮的立体感以及增加动感动画等。例如颜色的搭配,有些背景色跟文字或图片的颜色搭配在模拟器可以较清晰的显示出来,但是到了手机由于其分辨率问题就不那么明显了。颜色搭配要以清晰美观为基础,还要适当考虑用户心理等问题。
除了测试软件的正确功能,及其更需要考虑一些异常的情况,异常的情况也分多种考虑,如下:
1、容错性测试
容错性测试是一种对抗性的测试过程。在这种测试中,把应用程序或系统置于异常条件下,例如输入特殊字符或异常字符,具体可以通过输入超过边界值的字符(这也相当于用例设计方法中的边界值分析法)看后台有没有相应的容错处理。手机客户端界面会给出什么样的提示信息。另外还要测试多个客户端同时发出请求,测试后台的多线程处理能力,看能同时处理多少用户的同时请求,平均响应时间是多少,是否在可接受范围内。
2、测试应用程序中的一个功能正在执行过程中,同时另外一个事件或操作对该过程进行干扰。
例如:运用程序运行时,切换程序到外部,做一些与运用程序相关的操作,再切换到应用程序中,查看刚刚的操作是否对正在执行的运用程序有影响。另外来电,短信,电量不足等一些事件警告的出现也有可能导致程序出错,也要作出相应的处理。有些网络程序由于设置了数据通讯时不处理来电,这时候最好能在低电量情况下测试,看是否做了恰当的处理。我们需要测试一下这些干扰的冲突事件会不会导致应用程序core,手机死机、花屏等严重的问题出现。
3、我们一定要考虑到对手机存储空间满后的压力测试。
手机的内存空间资源是有限,不像PC机有着巨大的存储空间,我们很容易做到手机存储空间已满,所以我们一定要考虑剩余空间不足或存储空间为零的情况下,应用软件的运行是否正常?我们要在手机没有存储空间或达到最大的承载极限时,对手机软件可编辑修改的模块进行编辑修改,保存之后,并对手机软件进行任何操作测试,如果程序员不做相应的处理或者处理不好的话,很容易造成配置文件读写错误或无法写入,从而导致手机软件系统出现core掉或者手机出现死机、无法退出的情况。虽然手机本身在磁盘空间已满的情况下也会出现不少问题,我们的应用程序也无法避免,但是我们一定要确保我们的程序不会出现core,程序无法退出,手机死机等这些严重情况出现。
4、极限发散性测试
我个人经常喜欢说成是暴力测试或压力测试,我的做法是通过各种操作步骤或途径、异常或非法执行,站在不正常的用户角度,如快速按按钮或快速划屏、对某个功能做大量的重复性的操作等(如在登录过程中,不停的做登录和取消操作,不停地按几十下几百下),不把程序搞崩溃誓不罢休的暴力发散性测试,往往开发会狡辩与理论这是不正常的变态的测试,如果用户做此操作出现了问题由用户自己负责,确实世界上没有十全十美的东西,任何东西都会有瑕疵,软件也不例外,不可能做到零缺陷,我们不求做到最好,我们只求做到更好,试想用户的操作是多种多样的,谁能确保用户不会做到那些异常的非法的操作,我们不仅要确保正常功能实现的准确无误,一定还要做到异常非法的功能也要处理的准确无误,那样才能降低软件的缺陷率。通过我多次实践,发现不少严重致命的bug往往是由此操作导致,个人认为这与开发人员在异常情况下考虑不充分有一定的关系。
5、边界值测试
程序员会容易漏掉对边界值的处理,通过我多个版本的测试经历发现,每个版本都会出现这种边界值数组越界导致程序core掉的致命bug,曾经测试过手机界面显示N个缩略图片的功能,显示几百张图片功能无误,但是超过某个数字即几千张之后,应用程序会立即出现一些致命的错误;同时在删除列表界面的第一个或者末尾一个图片时,也出现了严重问题。所以我们不仅仅只考虑到能编辑的文本框下边界值的测试,还要考虑到其他一切尽可能输入的情况。
6、性能测试
我们不仅要测试软件功能的正确性,还要测试软件的性能,软件的运行速度,是否有延时,软件的运行时间,长期的运行是否会增加对存储空间的额外占用情况等。在软件运行时,要懂得不定时的查看资源的利用率,查看cpu的占用情况,内存泄露会造成程序随机的莫名其妙core、卡屏、手机死机的情况,而往往由内存泄露导致的问题,重启手机之后,问题不容易重现,并且再次内存泄露时,出现的现象也会不同,对我们测试重现问题来说是一个比较头疼的事,所以不定时的查看内存情况,查看内存是否泄露,出现的不易重现的严重问题是否与内存泄露有关,其实也是一种定位问题的方法。
7、数据请求或传输等需时较多的过程要确保有提示界面,最好有动画显示数据在传输过程中,请用户耐心等待。另外要注意在这个过程中对重复按键予以忽略,因为等待时间过长或响应迟钝时,用户趋向于重复按手机按钮。曾经测试过删除某个文件,文件比较大,删除很慢,界面没有任何反应,无法判断是否在删除文件,迫不及待的重新乱按手机其他键,导致系统出现错误。
第四篇:软件测试流程
每个软件测试阶段都要经历以下步骤:测试需求分析、测试过程设计、测试实现、测试实施、测试评价、测试维护。
1.测试需求分析:整个测试过程的基础;确定测试对象以及测试工作的范围和作用。
2.测试过程设计:包括测试计划,测试策略制定,测试时间安排用,测试用例编写等
3.测试实现:环境配置好了,新的版本也收到了,人员也都培训好了等等
4.测试实施:已经按照测试计划进行展开了,比如手工测试,自动化测试等
5.测试评价:对版本测试覆盖率,测试质量,人员测试工作以及前期的一些工作制定情况进行评价
6.测试维护:对测试用例库,测试脚本,bug库等进行维护,保证延续性等
软件测试过程
软件测试过程按各测试阶段的先后顺序可分为单元测试、集成测试、确认(有效性)测试、系统测试和验收(用户)测试5个阶段,如图3所示。
(1)单元测试:测试执行的开始阶段。测试对象是每个单元。测试目的是保证每个模块或组件能正常工作。单元测试主要采用白盒测试方法,检测程序的内部结构。
(2)集成测试:也称组装测试。在单元测试基础上,对已测试过的模块进行组装,进行集成测试。测试目的是检验与接口有关的模块之间的问题。集成测试主要采用黑盒测试方法。
(3)确认测试:也称有效性测试。在完成集成测试后,验证软件的功能和性能及其他特性是否符合用户要求。测试目的是保证系统能够按照用户预定的要求工作。确认测试通常采用黑盒测试方法。
(4)系统测试:在完成确认测试后,为了检验它能否与实际环境(如软硬件平台、数据和人员等)协调工作,还需要进行系统测试。可以说,系统测试之后,软件产品基本满足开发要求。
(5)验收测试:测试过程的最后一个阶段。验收测试主要突出用户的作用,同时软件开发人员也应该参与进去。
第五篇:软件测试一般流程[模版]
一般测试流程:
1.需求分析阶段:只要就是对业务的学习,分析需求点。
2.测试计划阶段:测试组长就要根据SOW开始编写《测试计划》,其中包括人员,软件硬件资源,测试点,集成顺序,进度安排和风险识别等内容。
3.测试设计阶段:测试方案一般由对需求很熟的高资深的测试工程师设计,测试方案要求根据《SRS》上的每个需求点设计出包括需求点简介,测试思路和详细测试方法三部分的方案。《测试方案》编写完成后也需要进行评审。
4.测试方案阶段:主要是对测试用例和规程的设计。测试用例是根据《测试方案》来编写的,通过《测试方案》阶段,测试人员对整个系统需求有了详细的理解。这时开始编写用例才能保证用例的可执行和对需求的覆盖。测试用例需要包括测试项,用例级别,预置条件,操作步骤和预期结果。其中操作步骤和预期结果需要编写详细和明确。测试用例应该覆盖测试方案,而测试方案又覆盖了测试需求点,这样才能保证客户需求不遗漏。同样,测试用例也需要评审。
5.测试执行阶段:执行测试用例,及时提交有质量的Bug和测试日报,测试报告等相关文档。