第一篇:手机软件面试问题
什么是手机软件测试?
手机作为专用的消费类电子长篇需要进行一下测试:可靠性测试(对于硬件则是RQT;软件则是fieldtrial);标准符合性测试(FTA);互操作性测试(IOT);安全性测试(安规测试);强度测试等;
什么是性能测试?
性能测试强度长时间、重复或者高强度的进行某些操作,来验证产品在各种极限条件下的表现。性能测试隶属于软件测试中的系统测试,它对软件在集成系统中运行的性能行为进行测试,旨在及早确定和消除软件中与构架有关的性能瓶颈。
手机中的性能测试分类是什么?
1、时间相关的性能测试可分为长时间保持测试和限定时间反应测试
2、次数相关的性能测试是测试终端重复稳定地进行某些功能的能力
3、并发测试主要是测试终端同时进行多项业务时表现出的处理能力里,例如同时进行cs域语音业务和ps域下载业务,或者在mp3播放的同时进行www上网业务,以测试协议栈、操作系统和处理器并发业务的支持能力
4、负载测试主要是验证系统的负载能力。例如同时进行多个ftp下载,使厦航传输率接近极限值,官场终端是否可以正常
手机性能测试的方法?
手工测试主要是通过测试人员手动操作,并借助某些检测仪器和工具,来验证手机性能。但由于手机功能众多,并且性能测试量大,如果单个测试工程师靠手动按键来执行所有测试用例,花费的时间少则几个小时,这样耗费大量测试时间的同时也容易让测试工程师产生疲倦甚至是厌倦心理,很容易造成测试的遗漏。手机测试中常碰到很多重复性高的,如发送数条sms或者mms以验证其首发成功率以及稳定性、连续进行多次呼叫、多次对问系统进行添加删除操作、多任务多进程情况下的冲突测试以及权限测试等等,都是重复性高的,手动执行的话费时费力,如果能有一套自动执行的机制,将能大大提高测试的效率。由此产生了对手机自动化测试工具的需求。手机这种扳机的MMI功能测试不同于基于PC上的MMI测试,或者借助PC平台,目前市场上已有非常多功能强大且通用的自动测试工具支持其测试,如比较典型的有Winrunner,Robot,Lodrunner等等,但是这些工具通常不能兼容到象手机这种嵌入式系统中来。这就要求测试人员能够基于当前平台进行二次开发,来满足自动化测试的需求。
介绍几个测试手机性能的软件 安卓的话可以用超级兔子,也可以用跑分工具。其他系统可以用jbenchmark。不过这些软件的结果只能大概提供个参考。因为手机的性能受操作系统等方面的影响很大,同样的手机不同的系统可能得出相差巨大的测试结果。
第二篇:手机软件测试
手机软件测试同软件测试一样,只不过他的平台式手机,也是嵌入式的一部分!工作就是测试软件可以在手机上正常使用,不会产生各种异常情况!测试方法也比较多……
首先测试一般是把流程走通,这是最基本的,你的软件需要实现什么功能和实现了什么功能,严格按照需求,即使是可用的功能,需求没有的话,那也是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、数据请求或传输等需时较多的过程要确保有提示界面,最好有动画显示数据在传输过程中,请用户耐心等待。另外要注意在这个过程中对重复按键予以忽略,因为等待时间过长或响应迟钝时,用户趋向于重复按手机按钮。曾经测试过删除某个文件,文件比较大,删除很慢,界面没有任何反应,无法判断是否在删除文件,迫不及待的重新乱按手机其他键,导致系统出现错误。
第四篇:较好的手机软件——强烈推荐
较好的软件
①阅读:阅读星,和听听中心配合使用,值得拥有;
②办公:金山WPS,Picsel smart office,Document To Go;
③天气:墨迹;
④课程表:课程格子,超级课程表;
⑤词典:有道;系统:360手机助手,360省电王,360手机助手;
⑥浏览器:UC浏览器;
⑦地图:老虎地图;
⑧音乐播放器:天天动听;⑨记账:随手记;
⑩PDF阅读器:智器阅读;★视频:优酷,暴风影音;★文件浏览器:ES文件浏览器。以上均是我经过多年实践经验总结出来的较好的软件,希望和大家一起分享。
第五篇:手机软件测试实习报告
一.实习目的:理论联系实际,通过把所学软件测试知识与实际操作相结合,熟练软件测试操作流程,根据实际操作总结学习中的错误认识,拓
展思维方法并学习实际业务流程中的相关技巧和同事之间的相处
问题。
二.实习时间:2011年11月26日——2011年1月7日
三.实习地点: 广州市萝岗区科学城三星通信研究院科学大道185号
四.实习单位: 广州三星通信研究院
五.实习内容:
1.公司背景
广州三星通信研究院(Samsung Guangzhou Mobile R&D Center,以下简称SGMC)座落于广州市萝岗区科学城,是由三星电子于2008年9月起,在中国设立的大型手机研发机构,设计开发面向中国、美洲、东南亚市场的CDMA和GSM手机;其业务领域覆盖手机的硬件、软件、结构设计、测试等全流程各环节。现有员工600多人; 未来将达到1000人以上的规模。
秉承三星电子致力于发挥人的潜能和技术,创造出众的产品和服务,从而造福全社会的经营哲学,全体SGMC人齐心协力,努力经营:不断建设、完善培训教育体系和管理手段,以良好的内部工作环境和氛围凝聚人,以高质量产品服务和回报社会,不断提升企业形象和吸引力,力争成为真正的“中国人民喜爱的企业,贡献于中国社会的企业”。
2.工作性质与工作职责
--执行手机在研发阶段的功能、性能、稳定性及相关软件的测试和ui测试;--制定测试计划,确认测试结果,输出测试报告;
--和研发人员进行沟通,快速反映问题,描述问题。
--负责撰写测试计划、测试用例、测试报告;
3.行业技术与产品
自成立以来,SGMC一直致力于通过产品开发和配件采购本地化,构筑产品企划到生产的“现地完结性开发体制”,从而打造中国现地化开发模式,确保产品的价格竞争力。从建立伊始,就制定了强化现地化开发的发展策略,从2008年10
月第一批员工加入至今,SGMC已承接多个CDMA,GSM等手机开发项目并取得了良好的市场反应。
手机测试是广州三星通信研究院新成立的一个部门,在者之前,国外已经有许多研究院创立手机测试这一部门。三星作为手机大型生产商,随着科技不断进步,市场竞争剧烈,需要完善手机功能才能满足客户的需求。
4.我所在的职位
职位名称:手机软件测试员
职位描述:
① 负责产品测试工作,根据软件需求大减测试环境和计划
② 负责软件不同功能模块的系统测试
③ 认真执行测试用例
④ 负责协助组长进行测试统计工作
⑤ 负责自己测试出的bug的提交工作
⑥ 负责填写自己测试模块的测试小结
⑦ 负责协助开发人员解决bug
⑧ 对解决的bug后的回归测试
⑨ 负责填写自己测试模块的回归测试小结
⑩ 每周提交工作总结报告
5.具体工作内容
① 每天根据软件测试需求,连接好正确的硬件设备,搭配好正确的端口,为测试
软件选择不同文件参数和版本号,最终搭建好测试环境
② 每天对组长分配给自己的手机模块进行测试,认真执行分配的手机模块的每一
条测试用例,在执行英文测试用例时要反复阅读Spec文档,保证测试用例的正确执行
③ 每台手机连接电脑,通过电脑软件让手机拨号和发短信大于1000次,如遇崩
溃,交还组长测试。
④ 在测试过程中,手机出现问题时,根据是手机硬件还是软件出现的问题,如果
是软件问题,需要抓取bug,首先抓取consolelog和genielog,然后抓取HSLlog,查看问题属于Manjor、minor、crash、再选择不同的工具抓取其他log,最后还要用相机拍取图片
⑤ 将抓取的log按照命名规则进行统一的命名,然后对log进行打包处理,处理
完毕后向本地服务器提交bug,由组长对bug进行审查
⑥ 组长审查完毕,如果bug的提取有问题,则feedback给reporter重新修改,如果组长审查完毕后bug没有问题,将bug向外网服务器上进行提交,并在固定的服务器上上传log
⑦ 当log提交后,开发人员会在外网服务器上看到自己提取的bug,我们负责解
决他们在解决bug过程中产生的疑问,并重新构建执行测试用例的测试环境,而且进行复现测试。
⑧ 对开发人员解决的bug,要重新进行回归测试,并对软件的其他一些功能进行
检查,执行更多的测试用例,尽量发现软件中一些其他的由于开发人员的代码变动而引起的其他错误,来保证软件的质量
⑨ 填写回归测试的测试小结,总结自己测试的case数量、时间以及自己测试过
程中产生的bug数量等内容
⑩ 每天和每周要提交自己的工作总结包括每天的收获和遇到的困难
5.工作中发现的问题
① 由于实习的时间不太长,培训灌输了大量的知识,在测试过程中遇到问题时常
常不知正确的操作流程,不能正确的抓取log或少抓log的现象时有发生,对手机进行测试时测试的环境把握很关键,常常由于对case没有很好的理解导致没有预置正确的测试环境而不能验证bug或复现bug。
② 在实习的这段时间中,对测试工具的使用不是很熟练,而且还有很多工具没有
用到和操作,因此在遇到问题时常常有些bug常常因为工具的不会使用而被漏掉。
六.实习总结:
这份测试工作是我在学校阶段最好的自我检查,让我有机会理论联系实践,增强了我的操作能力和分析能力,也为我的毕业论文设计提供了很好的素材。
在测试过程中,问题不断的出现,又不断的得到解决,一步步的前进,磨练了我的毅力,随着系统的不断完善,我对以前所学的知识领悟程度得到了提升,测试能力的到了质的提高,所学知识得到了综合应用。
在这次实习过程中,还使我对软件测试这份工作有了深刻的认识,虽然软件测试并不能为公司创造价值,但是却能够为公司最大程度的挽回损失,软件测试的目的在于发现软件中的问题并将这些问题演示给开发人员来解决问题。
9.自我评价
在这次实习过程中,我收获颇丰: 首先,本此实习最大的收获就是学会了适应环境。未工作之前我从没想象过这样的实习我能坚持下来,但是通过这次实习我慢慢的适应了这种紧张的生活。相信有了这段时间的锻炼,不论以后做什么工作心中都有了一种吃苦耐劳的毅力,学会了适应环境。其次,就是在工作中知道了一些与学校不同的问题,就是作为一名技术人员应该怎样去和开发人员交流等,同时扩展了自己的交际面,积累了一定的人脉关系。
于此同时,在测试工作中使我认识到我的缺点,不够有耐心,每次进行压力测试都有些不耐烦,但是经过这段时间的锻炼改变了我这个缺点。让我变的更加的专心、细心和有责任心。
七.个人收获:
1.通过公司的工作实习经历,让我有了学校学习的理论知识与实际操作相结合的机会,通过各环节的具体操作,我知道了平时在学校学习的一些理论会和实践操作产生某种程度上的冲突,并因此修正了自身的认知,增长了见识。
2.通过接近两个月的实习,认识了许多同事,并慢慢的知道了怎样进行相互之间的沟通交流,同事之间的相互帮助与合作,团队工作是重要的。
3.通过工作的辛苦,让我明白了工作中困难重重,有能力的人数不胜数,我要朝着更高的方向,学到更高层的技术。这样才能寻求到更好的工作。