2023年6月21日发(作者:)
web测试与APP测试⽅法总结⼀、输⼊框1、字符型输⼊框:(1)字符型输⼊框:英⽂全⾓、英⽂半⾓、数字、空或者空格、特殊字符“~!@#¥%……&*?[]{}”特别要注意单引号和&符号。禁⽌直接输⼊特殊字符时,使⽤“粘贴、拷贝”功能尝试输⼊。(2)长度检查:最⼩长度、最⼤长度、最⼩长度-1、最⼤长度+1、输⼊超⼯字符⽐如把整个⽂章拷贝过去。(3)空格检查:输⼊的字符间有空格、字符前有空格、字符后有空格、字符前后有空格(4)多⾏⽂本框输⼊:允许回车换⾏、保存后再显⽰能够保存输⼊的格式、仅输⼊回车换⾏,检查能否正确保存(若能,检查保存结果,若不能,查看是否有正常提⽰)、(5)安全性检查:输⼊特殊字符串(null,NULL, ,javascript,,
(2)位数:最⼩位数、最⼤位数、最⼩位数-1最⼤位数+1、输⼊超长值、输⼊整数
(3)异常值、特殊字符:输⼊空⽩(NULL)、空格或"~!@#$%^&*()_+{}|[]:"<>?;',./?;:'-=等可能导致系统错误的字符、禁⽌直接输⼊特殊字符时,尝试使⽤粘贴拷贝查看是否能正常提交、word中的特殊功能,通过剪贴板拷贝到输⼊框,分页符,分节符类似公式的上下标等、数值的特殊符号如∑,㏒,㏑,∏,+,-等、输⼊负整数、负⼩数、分数、输⼊字母或汉字、⼩数(⼩数前0点舍去的情况,多个⼩数点的情况)、⾸位为0的数字如01、02、科学计数法是否⽀持1.0E2、全⾓数字与半⾓数字、数字与字母混合、16进制,8进制数值、货币型输⼊(允许⼩数点后⾯⼏位)、(4)安全性检查:不能直接输⼊就copy3、⽇期型输⼊框:(1)合法性检查:(输⼊0⽇、1⽇、32⽇)、⽉输⼊[1、3、5、7、8、10、12]、⽇输⼊[31]、⽉输⼊[4、6、9、11]、⽇输⼊[30][31]、输⼊⾮闰年,⽉输⼊[2],⽇期输⼊[28、29]、输⼊闰年,⽉输⼊[2]、⽇期输⼊[29、30]、⽉输⼊[0、1、12、13] (2)异常值、特殊字符:输⼊空⽩或NULL、输⼊~!@#¥%……&*(){}[]等可能导致系统错误的字符(3)安全性检查:不能直接输⼊,就copy,是否数据检验出错?4、信息重复:在⼀些需要命名,且名字应该唯⼀的信息输⼊重复的名字或ID,看系统有没有处理,会否报错,重名包括是否区分⼤⼩写,以及在输⼊内容的前后输⼊空格,系统是否作出正确处理.⼆、搜索功能若查询条件为输⼊框,则参考输⼊框对应类型的⽅法1、功能实现:(1)如果⽀持模糊查询,搜索名称中任意⼀个字符是否能搜索到(2)⽐较长的名称是否能查到(3)输⼊系统中不存在的与之匹配的条件(4)⽤户进⾏查询操作时,⼀般情况是不进⾏查询条件的清空,除⾮需求特殊说明。2、组合测试:(1)不同查询条件之间来回选择,是否出现页⾯错误(单选框和多选框最容易出错)(2)测试多个查询条件时,要注意查询条件的组合测试,可能不同组合的测试会报错。
三、添加、修改功能1、特殊键:(1)是否⽀持Tab键 (2)是否⽀持回车键2、提⽰信息:(1)不符合要求的地⽅是否有错误提⽰3、唯⼀性:(1)字段唯⼀的,是否可以重复添加,添加后是否能修改为已存在的字段(字段包括区分⼤⼩写以及在输⼊的内容前后输⼊空格,保存后,数据是否真的插⼊到数据库中,注意保存后数据的正确性)4、数据 正确性:(1)对编辑页的每个编辑项进⾏修改,点击保存,是否可以保存成功,检查想关联的数据是否得到更新。(2)进⾏必填项检查(即是否给出提⽰以及提⽰后是否依然把数据存到数据库中;是否提⽰后出现页码错乱等)(3)是否能够连续添加(针对特殊情况)(4)在编辑的时候,注意编辑项的长度限制,有时在添加的时候有,在编辑的时候却没有(注意要添加和修改规则是否⼀致)(5)对于有图⽚上传功能的编辑框,若不上传图⽚,查看编辑页⾯时是否显⽰有默认的图⽚,若上传图⽚,查看是否显⽰为上传图⽚(6)修改后增加数据后,特别要注意查询页⾯的数据是否及时更新,特别是在⾸页时要注意数据的更新。(7)提交数据时,连续多次点击,查看系统会不会连续增加⼏条相同的数据或报错。(8)若结果列表中没有记录或者没选择某条记录,点击修改按钮,系统会抛异常。
四、删除功能1、特殊键:(1)是否⽀持Tab键 (2)是否⽀持回车键2、提⽰信息:(1)不选择任何信息,直接点击删除按钮,是否有提⽰(2)删除某条信息时,应该有确认提⽰3、数据 实现:(1)是否能连续删除多个产品(2)当只有⼀条数据时,是否可以删除成功 (3)删除⼀条数据后,是否可以添加相同的数据(4)如系统⽀持批量删除,注意删除的信息是否正确 (5)如有全选,注意是否把所有的数据删除(6)删除数据时,要注意相应查询页⾯的数据是否及时更新 (7)如删除的数据与其他业务数据关联,要注意其关联性(如删除部门信息时,部门下游员⼯,则应该给出提⽰)(8)如果结果列表中没有记录或没有选择任何⼀条记录,点击删除按钮系统会报错。
如:某⼀功能模块具有最基本的增删改查功能,则需要进⾏以下测试单项功能测试(增加、修改、查询、删除)增加——>增加——>增加 (连续增加测试)增加——>删除增加——>删除——>增加 (新增加的内容与删除内容⼀致)增加——>修改——>删除修改——>修改——>修改 (连续修改测试)修改——>增加(新增加的内容与修改前内容⼀致)修改——>删除修改——>删除——>增加 (新增加的内容与删除内容⼀致)删除——>删除——>删除 (连续删除测试)
五、注册、登陆模块1、注册功能:(1)注册时,设置密码为特殊版本号,检查登录时是否会报错(2)注册成功后,页⾯应该以登陆状态跳转到⾸页或指定页⾯(3)在注册信息中删除已输⼊的信息,检查是否可以注册成功。2、登陆 功能:(1)输⼊正确的⽤户名和正确的密码(2)输⼊正确的⽤户名和错误的密码(3)输⼊错误的⽤户名和正确的密码(4)输⼊错误的⽤户名和错误的密码(5)不输⼊⽤户名和密码(均为空格)(6)只输⼊⽤户名,密码为空(7)⽤户名为空,只输⼊密码(8)输⼊正确的⽤户名和密码,但是不区分⼤⼩写(9)⽤户名和密码包括特殊字符(10)⽤户名和密码输⼊超长值(11)已删除的⽤户名和密码(12)登录时,当页⾯刷新或重新输⼊数据时,验证码是否更新
六、上传图⽚测试1、功能 实现:(1)⽂件类型正确、⼤⼩合适(2)⽂件类型正确,⼤⼩不合适(3)⽂件类型错误,⼤⼩合适(4)⽂件类型和⼤⼩都合适,上传⼀个正在使⽤中的图⽚(5)⽂件类型⼤⼩都合适,⼿动输⼊存在的图⽚地址来上传(6)⽂件类型和⼤⼩都合适,输⼊不存在的图⽚地址来上传(7)⽂件类型和⼤⼩都合适,输⼊图⽚名称来上传(8)不选择⽂件直接点击上传,查看是否给出提⽰(9)连续多次选择不同的⽂件,查看是否上传最后⼀次选择的⽂件
七、查询结果列表1、功能 实现:(1)列表、列宽是否合理(2)列表数据太宽有没有提供横向滚动(3)列表的列名有没有与内容对应(4)列表的每列的列名是否描述的清晰(5)列表是否把不必要的列都显⽰出来(6)点击某列进⾏排序,是否会报错(点击查看每⼀页的排序是否正确)(7)双击或单击某列信息,是否会报错
⼋、返回键检查1、⼀条已经成功提交的记录,返回后再提交,是否做了处理2、检查多次使⽤返回键的情况,在有返回键的地⽅,返回到原来的页⾯多次,查看是否会出错
九、回车键检查1、在输⼊结果后,直接按回车键,看系统如何处理,是否会报错
⼗、刷新键检查1、在Web系统中,使⽤刷新键,看系统如何处理,是否会报错
⼗⼀、直接URL链接检查1、在Web系统中,在地址栏直接输⼊各个功能页⾯的URL地址,看系统如何处理,是否能够直接链接查看(匿名查看),是否有权限控制,是否直接执⾏,并返回相应结果页;
⼗⼆、界⾯和易⽤性测试1、风格、样式、颜⾊是否协调2、界⾯布局是否整齐、协调(保证全部显⽰出来的,尽量不要使⽤滚动条3、界⾯操作、标题描述是否恰当(描述有歧义、注意是否有错别字)4、操作是否符合⼈们的常规习惯(有没有把相似的功能的控件放在⼀起,⽅便操作)5、提⽰界⾯是否符合规范(不应该显⽰英⽂的cancel、ok,应该显⽰中⽂的确定等)6、界⾯中各个控件是否对齐7、⽇期控件是否可编辑8、⽇期控件的长度是否合理,以修改时可以把时间全部显⽰出来为准9、查询结果列表列宽是否合理、标签描述是否合理10、查询结果列表太宽没有横向滚动提⽰11、对于信息⽐较长的⽂本,⽂本框有没有提供⾃动竖直滚动条12、数据录⼊控件是否⽅便13、有没有⽀持Tab键,键的顺序要有条理,不乱跳14、有没有提供相关的热键15、控件的提⽰语描述是否正确16、模块调⽤是否统⼀,相同的模块是否调⽤同⼀个界⾯17、⽤滚动条移动页⾯时,页⾯的控件是否显⽰正常18、⽇期的正确格式应该是XXXX-XX-XX或XXXX-XX-XX XX:XX:XX19、页⾯是否有多余按钮或标签20、窗⼝标题或图标是否与菜单栏的统⼀21、窗⼝的最⼤化、最⼩化是否能正确切换22、对于正常的功能,⽤户可以不必阅读⽤户⼿册就能使⽤23、执⾏风险操作时,有确认、删除等提⽰吗24、操作顺序是否合理25、正确性检查:检查页⾯上的form, button, table, header, footer,提⽰信息,还有其他⽂字拼写,句⼦的语法等是否正确。26、系统应该在⽤户执⾏错误的操作之前提出警告,提⽰信息.27、页⾯分辨率检查,在各种分辨率浏览系统检查系统界⾯友好性。28、合理性检查:做delete, update, add, cancel, back等操作后,查看信息回到的页⾯是否合理。29、检查本地化是否通过:英⽂版不应该有中⽂信息,英⽂翻译准确,专业。
⼗三、兼容性测试兼容性测试不只是指界⾯在不同操作系统或浏览器下的兼容,有些功能⽅⾯的测试,也要考虑到兼容性,包括操作系统兼容和应⽤软件兼容,可能还包括硬件兼容⽐如涉及到ajax、jquery、javascript等技术的,都要考虑到不同浏览器下的兼容性问题。
⼗四、链接测试主要是保证链接的可⽤性和正确性,它也是⽹站测试中⽐较重要的⼀个⽅⾯。可以使⽤特定的⼯具如XENU来进⾏链接测试。1导航测试导航描述了⽤户在⼀个页⾯内操作的⽅式,在不同的⽤户接⼝控制之间,例如按钮、对话框、列表和窗⼝等;或在不同的连接页⾯之间。通过考虑下列问题,可以决定⼀个Web应⽤系统是否易于导航:导航是否直观?Web系统的主要部分是否可通过主页存取?Web系统是否需要站点地图、搜索引擎或其他的导航帮助?在⼀个页⾯上放太多的信息往往起到与预期相反的效果。Web应⽤系统的⽤户趋向于⽬的驱动,很快地扫描⼀个Web应⽤系统,看是否有满⾜⾃⼰需要的信息,如果没有,就会很快地离开。很少有⽤户愿意花时间去熟悉Web应⽤系统的结构,因此,Web应⽤系统导航帮助要尽可能地准确。导航的另⼀个重要⽅⾯是Web应⽤系统的页⾯结构、导航、菜单、连接的风格是否⼀致。确保⽤户凭直觉就知道Web应⽤系统⾥⾯是否还有内容,内容在什么地⽅。Web应⽤系统的层次⼀旦决定,就要着⼿测试⽤户导航功能,让最终⽤户参与这种测试,效果将更加明显。2图形测试在Web应⽤系统中,适当的图⽚和动画既能起到⼴告宣传的作⽤,⼜能起到美化页⾯的功能。⼀个Web应⽤系统的图形可以包括图⽚、动画、边框、颜⾊、字体、背景、按钮等。图形测试的内容有:(1)要确保图形有明确的⽤途,图⽚或动画不要胡乱地堆在⼀起,以免浪费传输时间。Web应⽤系统的图⽚尺⼨要尽量地⼩,并且要能清楚地说明某件事情,⼀般都链接到某个具体的页⾯。(2)验证所有页⾯字体的风格是否⼀致。(3)背景颜⾊应该与字体颜⾊和前景颜⾊相搭配。(4)图⽚的⼤⼩和质量也是⼀个很重要的因素,⼀般采⽤JPG或GIF压缩,最好能使图⽚的⼤⼩减⼩到30k以下(5)最后,需要验证的是⽂字回绕是否正确。如果说明⽂字指向右边的图⽚,应该确保该图⽚出现在右边。不要因为使⽤图⽚⽽使窗⼝和段落排列古怪或者出现孤⾏。通常来说,使⽤少许或尽量不使⽤背景是个不错的选择。如果您想⽤背景,那么最好使⽤单⾊的,和导航条⼀起放在页⾯的左边。另外,图案和图⽚可能会转移⽤户的注意⼒。
⼗五、业务流程测试(主要功能测试)业务流程,⼀般会涉及到多个模块的数据,所以在对业务流程测试时,⾸先要保证单个模块功能的正确性,其次就要对各个模块间传递的数据进⾏测试,这往往是容易出现问题的地⽅,测试时⼀定要设计不同的数据进⾏测试。⼗六、安全性测试(1)SQL注⼊(⽐如登陆页⾯)(2)XSS跨⽹站脚本攻击:程序或数据库没有对⼀些特殊字符进⾏过滤或处理,导致⽤户所输⼊的⼀些破坏性的脚本语句能够直接写进数据库中,浏览器会直接执⾏这些脚本语句,破坏⽹站的正常显⽰,或⽹站⽤户的信息被盗,构造脚本语句时,要保证脚本的完整性。 ("abc") (3)URL地址后⾯随便输⼊⼀些符号,并尽量是动态参数靠后(4)验证码更新问题(5)现在的Web应⽤系统基本采⽤先注册,后登陆的⽅式。因此,必须测试有效和⽆效的⽤户名和密码,要注意到是否⼤⼩写敏感,可以试多少次的限制,是否可以不登陆⽽直接浏览某个页⾯等。(6)Web应⽤系统是否有超时的限制,也就是说,⽤户登陆后在⼀定时间内(例如15分钟)没有点击任何页⾯,是否需要重新登陆才能正常使⽤。(7)为了保证Web应⽤系统的安全性,⽇志⽂件是⾄关重要的。需要测试相关信息是否写进了⽇志⽂件、是否可追踪。(8)当使⽤了安全套接字时,还要测试加密是否正确,检查信息的完整性。(9)服务器端的脚本常常构成安全漏洞,这些漏洞⼜常常被⿊客利⽤。所以,还要测试没有经过授权,就不能在服务器端放置和编辑脚本的问题。
⼗七、性能测试1连接速度测试⽤户连接到Web应⽤系统的速度根据上⽹⽅式的变化⽽变化,他们或许是电话拨号,或是宽带上⽹。当下载⼀个程序时,⽤户可以等较长的时间,但如果仅仅访问⼀个页⾯就不会这样。如果Web系统响应时间太长(例如超过5秒钟),⽤户就会因没有耐⼼等待⽽离开。另外,有些页⾯有超时的限制,如果响应速度太慢,⽤户可能还没来得及浏览内容,就需要重新登陆了。⽽且,连接速度太慢,还可能引起数据丢失,使⽤户得不到真实的页⾯。2负载测试负载测试是为了测量Web系统在某⼀负载级别上的性能,以保证Web系统在需求范围内能正常⼯作。负载级别可以是某个时刻同时访问Web系统的⽤户数量,也可以是在线数据处理的数量。例如:Web应⽤系统能允许多少个⽤户同时在线?如果超过了这个数量,会出现什么现象?Web应⽤系统能否处理⼤量⽤户对同⼀个页⾯的请求?3压⼒测试负载测试应该安排在Web系统发布以后,在实际的⽹络环境中进⾏测试。因为⼀个企业内部员⼯,特别是项⽬组⼈员总是有限的,⽽⼀个Web系统能同时处理的请求数量将远远超出这个限度,所以,只有放在Internet上,接受负载测试,其结果才是正确可信的。进⾏压⼒测试是指实际破坏⼀个Web应⽤系统,测试系统的反映。压⼒测试是测试系统的限制和故障恢复能⼒,也就是测试Web应⽤系统会不会崩溃,在什么情况下会崩溃。⿊客常常提供错误的数据负载,直到Web应⽤系统崩溃,接着当系统重新启动时获得存取权。压⼒测试的区域包括表单、登陆和其他信息传输页⾯等。
备注:1、负载/压⼒测试应该关注什么测试需要验证系统能否在同⼀时间响应⼤量的⽤户,在⽤户传送⼤量数据的时候能否响应,系统能否长时间运⾏。可访问性对⽤户来说是极其重要的。如果⽤户得到“系统忙”的信息,他们可能放弃,并转向竞争对⼿。系统检测不仅要使⽤户能够正常访问站点,在很多情况下,可能会有⿊客试图通过发送⼤量数据包来攻击服务器。出于安全的原因,测试⼈员应该知道当系统过载时,需要采取哪些措施,⽽不是简单地提升系统性能。1)瞬间访问⾼峰如果您的站点⽤于公布彩票的抽奖结果,最好使系统在中奖号码公布后的⼀段时间内能够响应上百万的请求。负载测试⼯具能够模拟X个⽤户同时访问测试站点。2)每个⽤户传送⼤量数据⽹上书店的多数⽤户可能只订购1-5书,但是⼤学书店可能会订购5000本有关⼼理学介绍的课本?或者⼀个祖母为她的50个⼉孙购买圣诞礼物(当然每个孩⼦都有⾃⼰的邮件地址)系统能处理单个⽤户的⼤量数据吗?3)长时间的使⽤如果站点⽤于处理鲜花订单,那么⾄少希望它在母亲节前的⼀周内能持续运⾏。如果站点提供基于web的email服务,那么点最好能持续运⾏⼏个⽉,甚⾄⼏年。可能需要使⽤⾃动测试⼯具来完成这种类型的测试,因为很难通过⼿⼯完成这些测试。你可以想象组织100个⼈同时点击某个站点。但是同时组织100000个⼈呢。通常,测试⼯具在第⼆次使⽤的时候,它创造的效益,就⾜以⽀付成本。⽽且,测试⼯具安装完成之后,再次使⽤的时候,只要点击⼏下。采取措施:采⽤性能测试⼯具WAS、ACT,LR等协助进⾏测试
⼗⼋、测试中应该注意的其他情况1、在测试时,与⽹络有关的步骤或者模块必须考虑到断⽹的情况2、每个页⾯都有相应的Title,不能为空,或者显⽰“⽆标题页”3、在测试的时候要考虑到页⾯出现滚动条时,滚动条上下滚动时,页⾯是否正常4、URL不区分⼤⼩写,⼤⼩写不敏感5、、对于电⼦商务⽹站,当⽤户并发购买数量⼤于库存的数量时,系统如何处理6、测试数据避免单纯输⼊“123”、“abc“之类的,让测试数据尽量接近实际7、进⾏测试时,尽量不要⽤超级管理员进⾏测试,⽤新建的⽤户进⾏测试。测试⼈员尽量不要使⽤同⼀个⽤户进⾏测试8、提⽰信息:提⽰信息是否完整、正确、详细9、帮助信息:是否提供帮助信息,帮助信息的表现形式(页⾯⽂字、提⽰信息、帮助⽂件),帮助信息是否正确、详细10、可扩展性:是否由升级的余地,是否保留了接⼝11、稳定性:运⾏所需的软硬件配置,占⽤资源情况,出现问题时的容错性,对数据的保护12、运⾏速度:运⾏的快慢,带宽占⽤情况
App测试⽅法总结(详细版)
⼀、安全测试1.软件权限1)扣费风险:包括短信、拨打电话、连接⽹络等。2)隐私泄露风险:包括访问⼿机信息、访问联系⼈信息等。3)对App的输⼊有效性校验、认证、授权、数据加密等⽅⾯进⾏检测4)限制/允许使⽤⼿机功能接⼊互联⽹5)限制/允许使⽤⼿机发送接收信息功能6)限制或使⽤本地连接7)限制/允许使⽤⼿机拍照或录⾳8)限制/允许使⽤⼿机读取⽤户数据9)限制/允许使⽤⼿机写⼊⽤户数据10)限制/允许应⽤程序来注册⾃动启动应⽤程序
2.安装与卸载安全性1)应⽤程序应能正确安装到设备驱动程序上2)能够在安装设备驱动程序上找到应⽤程序的相应图标3)安装路径应能指定4)没有⽤户的允许,应⽤程序不能预先设定⾃动启动5)卸载是否安全,其安装进去的⽂件是否全部卸载6)卸载⽤户使⽤过程中产⽣的⽂件是否有提⽰7)其修改的配置信息是否复原8)卸载是否影响其他软件的功能9)卸载应该移除所有的⽂件
3.数据安全性1)当将密码或其它的敏感数据输⼊到应⽤程序时,其不会被存储在设备中,同时密码也不会被解码。2)输⼊的密码将不以明⽂形式进⾏显⽰。3)密码、信⽤卡明细或其他的敏感数据将不被存储在它们预输⼊的位置上。4)不同的应⽤程序的个⼈⾝份证或密码长度必须⾄少在4-8个数字长度之间。5)当应⽤程序处理信⽤卡明细或其它的敏感数据时,不以明⽂形式将数据写到其他单独的⽂件或者临时⽂件中。以防⽌应⽤程序异常终⽌⽽⼜没有删除它的临时⽂件,⽂件可能遭受⼊侵者的袭击,然后读取这些数据信息。6)党建敏感数据输⼊到应⽤程序时,其不会被存储在设备中。7)应⽤程序应考虑或者虚拟机器产⽣的⽤户提⽰信息或安全警告8)应⽤程序不能忽略系统或者虚拟机器产⽣的⽤户提⽰信息或安全警告,更不能在安全警告显⽰前,利⽤显⽰误导信息欺骗⽤户,应⽤程序不应该模拟进⾏安全警告误导⽤户。9)在数据删除之前,应⽤程序应当通知⽤户或者应⽤程序提供⼀个“取消”命令的操作。10)应⽤程序应当能够处理当不允许应⽤软件连接到个⼈信息管理的情况。11)当进⾏读或写⽤户信息操作时,应⽤程序将会向⽤户发送⼀个操作错误的提⽰信息。12)在没有⽤户明确许可的前提下不损坏删除个⼈信息管理应⽤程序中的任何内容。13)如果数据库中重要的数据正要被重写,应及时告知⽤户。14)能合理的处理出现的错误。15)意外情况下应提⽰⽤户。
4.通讯安全性1)在运⾏软件过程中,如果有来电、SMS、蓝⽛等通讯或充电时,是否能暂停程序,优先处理通信,并在处理完毕后能正常恢复软件,继续其原来的功能。2)当创⽴连接时,应⽤程序能够处理因为⽹络连接中断,进⽽告诉⽤户连接中断的情况。3)应能处理通讯延时或中断。4)应⽤程序将保持⼯作到通讯超时,进⽽给⽤户⼀个错误信息指⽰有链接错误。5)应能处理⽹络异常和及时将异常情况通报⽤户。6)应⽤程序关闭⽹络连接不再使⽤时应及时关闭,断开。 5.⼈机接⼝安全测试1)返回菜单应总保持可⽤。2)命令有优先权顺序。3)声⾳的设置不影响使⽤程序的功能。4)声⾳的设置不影响应⽤程序的功能5)应⽤程序必须能够处理不可预知的⽤户操作,例如错误的操作和同时按下多个键。
⼆、安装、卸载测试验证App是否能正确安装、运⾏、卸载、以及操作过程和操作前后对系统资源的使⽤情况
1.安装1)软件安装后是否能够正常运⾏,安装后的⽂件夹以及⽂件是否写到了指定的⽬录⾥。2)软件安装各个选项的组合是否符合概要设计说明。3)软件安装向导的UI测试4)安装后没有⽣成多余的⽬录结构和⽂件。
2.卸载1)测试系统直接卸载程序是否有提⽰信息。2)测试卸载后⽂件是否全部删除所有的安装⽂件夹。3)卸载是否⽀持取消功能,单击取消后软件卸载的情况。4)系统直接卸载UI测试,是否有卸载状态进度条提⽰。
三、UI测试1)测试⽤户界⾯(如菜单、对话框、窗⼝和其他控件)布局、风格是否满⾜要求、⽂字是否正确、页⾯是否美观、⽂字、图⽚组合是否完美、操作是否友好等。2)UI测试的⽬标是确保⽤户界⾯会通过测试对象的功能来为⽤户提供相应的访问或浏览功能。确保⽤户界⾯符合公司或⾏业的标准。包括⽤户友好性、⼈性化、易操作性测试。
1.导航测试1)按钮、对话框、列表和窗⼝等;或在不同的连接页⾯之间需要导航。2)是否易于导航,导航是否直观。3)是否需要搜索引擎。4)导航帮助是否准确直观。5)导航与页⾯结构、菜单、连接页⾯的风格是否⼀致。 2.图形测试1)横向⽐较,各控件操作⽅式统⼀。2)⾃适应界⾯设计,内容根据窗⼝⼤⼩⾃适应。3)页⾯标签风格是否统⼀。4)页⾯是否美观。5)页⾯的图⽚应有其实际意义⽽要求整体有序美观。
3.内容测试1)输⼊框说明⽂字的内容与系统功能是否⼀致。2)⽂字长度是否加以限制。3)⽂字内容是否表意不明。4)是否有错别字。5)信息是否为中⽂显⽰。
四、功能测试根据软件说明或⽤户需求验证App的各个功能实现,采⽤如下⽅法实现并评估功能测试过程:1)采⽤时间、地点、对象、⾏为和背景五元素或业务分析等⽅法分析、提炼App的⽤户使⽤场景,对⽐说明或需求,整理出内在、外在及⾮功能直接相关的需求,构建测试点,并明确测试标准。2)根据被测功能点的特性列出相应类型的测试⽤例对其进⾏覆盖,如:设计输⼊的地⽅需要考虑等价、边界、负⾯、异常、⾮法、场景回滚、关联测试等测试类型对其进⾏覆盖。3)在测试实现的各个阶段跟踪测试实现与需求输⼊的覆盖情况,及时修正业务或需求理解错误。
1.运⾏1)App安装完成后的试运⾏,可正常打开软件。2)App打开测试,是否有加载状态进度提⽰。3)App页⾯间的切换是否流畅,逻辑是否正确。4)注册同表单编辑页⾯⽤户名密码长度注册后的提⽰页⾯前台注册页⾯和后台的管理页⾯数据是否⼀致注册后,在后台管理中页⾯提⽰5)登录使⽤合法的⽤户登录系统系统是否允许多次⾮法的登录,是否有次数限制使⽤已经登录的账号登录系统是否正确处理⽤户名、⼝令(密码)错误或漏填时能否登陆删除或修改后的⽤户,原⽤户名登陆不输⼊⽤户⼝令和重复点“确定/取消”按钮,是否允许登录登陆后,页⾯中登录信息页⾯中有注销按钮登录超时的处理
2.应⽤的前后台切换1)App切换到后台,再回到App,检查是否停留在上⼀次操作界⾯。2)App切换到后台,再回到App,检查功能及应⽤状态是否正常。3)App切换到后台,再回到前台时,注意程序是否崩溃,功能状态是否正常,尤其是对于从后台切换回前台数据有⾃动更新的时候。4)⼿机锁屏解锁后进⼊App注意是否会崩溃,功能状态是否正常,尤其是对于从后台切换回前台数据有⾃动更新的时候。5)当App使⽤过程中有电话进来中断后再切换到App,功能状态是否正常。6)当杀掉App进城后,再开启App,App能否正常启动。7)出现必须处理的提⽰框后,切换到后台,再切换回来,检查提⽰框是否还存在,有时候会出现应⽤⾃动跳过提⽰框的缺陷。8)对于有数据交换的页⾯,每个页⾯都必须要进⾏前后台切换、锁屏的测试,这种页⾯最容易出现崩溃。
3.免登陆很多应⽤提供免登陆功能,当应⽤开启时⾃动以上⼀次登录的⽤户⾝份来使⽤App。1)考虑⽆⽹络情况时能否正常进⼊免登录状态。2)切换⽤户登陆后,要校验⽤户登录信息以及数据内容是否相应更新,确保原⽤户退出。3)根据Mtop的现有规则,⼀个账户只允许登陆⼀台机器。所以,需要检查⼀个账户登录多台⼿机的情况。原⼿机⾥的⽤户需要被退出,给出友好提⽰。4)App切换到后台,在切换回前台的校验。5)切换到后台,再切换回到前台的测试。6)密码更换后,检查有数据交换时是否进⾏了有效⾝份的校验。7)⽀持⾃动登录的应⽤在进⾏数据校验时,检查系统是否能⾃动登录成功并且数据操作⽆误。8)检查⽤户主动退出登录后,下次启动App,应停留在登录界⾯。
4.离线浏览很多应⽤会⽀持离线浏览,即在本地客户端会缓存⼀部分数据供⽤户查看。1)在⽆线⽹络情况可以浏览本地数据。2)退出App再开启App时能正常浏览。3)切换到后台再回到前台可以正常浏览。4)锁屏后再解锁回到应⽤前台可以正常浏览。5)在对服务器段的数据有更新时回给予离线的相应提⽰。
更新1)当客户端有新版本时,有更新提⽰。2)当版本为⾮强制升级版时,⽤户可以取消更新,⽼版本能正常使⽤。⽤户在下次启动App时,仍出现更新提⽰。3)当版本为强制升级版时,但给出强制更新后⽤户没有做更新时,退出客户端。下次启动App时,仍出现强制升级提⽰。4)当客户端有新版本时,在本地不删除客户端的情况下,直接更新检查是否能正常更新。5)当客户端有新版本时,在本地不删除客户端的情况下,检查更新后的客户端功能是否是新版本。6)当客户端有新版本时,在本地不删除客户端的情况下,检查资源同名⽂件如图⽚是否能正常更新成最新版本。如果以上⽆法更新成功的,也都属于缺陷。
6.定位、照相机服务1)App有⽤到相机,定位服务时,需要注意系统版本差异。2)有⽤到照相机服务的地⽅,需要进⾏前后台的切换测试,检查应⽤是否正常。3)测试照相机服务时,需要采⽤真机进⾏测试。
测试1)检查Push消息是否按照指定的业务规则发送。2)检查不接收推送消息时,⽤户不会在接收到Push消息。3)如果⽤户设置了免打扰的时间段,检查在免打扰时间段内,⽤户接收不到Push。在⾮免打扰时间段内,⽤户能正常收到Push。4)当Push消息是针对登录⽤户的时候,需要检查收到的Push与⽤户⾝份是否相符,没有错误的将其他⼈的消息推送过来。⼀般情况下,只对⼿机上最后⼀个登录⽤户进⾏消息推送。5)测试Push时,需要采⽤真机进⾏测试。
五、性能测试1)响应能⼒测试:测试App中的各类操作是否满⾜⽤户响应时间要求。App安装、卸载的响应时间App各类功能性操作的响应时间2)压⼒测试,反复/长期操作下,系统资源是否占⽤异常。App反复进⾏安装卸载,检查系统资源是否正常其他功能反复进⾏操作,检查系统资源是否正常 六、交叉事件测试针对智能终端应⽤的服务等级划分⽅式及实时特性所提出的测试⽅法。交叉测试⼜叫事件或冲突测试,是指⼀个功能正在执⾏过程中,同时另外⼀个事件或操作对该过程进⾏⼲扰的测试。如:App在前/后台运⾏状态时与来电、⽂件下载、⾳乐收听等关键运⽤的交互情况测试等。交叉事件测试⾮常重要,能发现很多应⽤中潜在的性能问题。1)多个App同时运⾏是否影响正常功能。2)App运⾏时前/后台切换是否影响正常功能。3)App运⾏时拨打/接听电话。4)App运⾏时发送/接收信息。5)App运⾏时发送/收取邮件。6)App运⾏时浏览⽹络。7)App运⾏时使⽤蓝⽛传送/接收数据。8)App运⾏时使⽤相机、计算器等⼿机⾃带设备。
七、兼容测试主要测试内部和外部兼容性1)与本地及主流App是否兼容2)与各种设备是否兼容,若有跨系统⽀持则需要检验是否在个系统下,各种⾏为是否⼀致。不同⼿机屏幕分标率的兼容性不同⼿机品牌的兼容性
⼋、回归测试1)Bug修复后且在新版本发布后需要进⾏回归测试。2)Bug修复后的回归测试在交付前、要进⾏⼤量⽤例的回归测试。
九、⽤户体验测试以主观的普通消费者的⾓度去感知产品或服务的舒适、有⽤、易⽤、友好亲切程度。通过不同个体、独⽴空间和⾮经验的统计复⽤⽅式去有效评价产品的体验特性,提出修改意见提升产品的潜在客户满意度。1)是否有空数据界⾯设计,引导⽤户去执⾏操作。2)是否滥⽤⽤户引导。3)是否有不可点击的效果,如:你的按钮此时处于不可⽤状态,那么⼀定要灰掉,或者拿掉按钮,否则会给⽤户误导。4)菜单层次是否太深。5)交互流程分⽀是否太多。6)相关的选项是否离的很远。7)⼀次是否载⼊太多的数据。8)界⾯中按钮可点击范围是否适中。9)标签页是否跟内容没有从属关系,当切换标签的时候,内容跟着切换。10)操作应该有主次从属关系。11)是否定义Back的逻辑。涉及软硬件交互时,Back键应具体定义。12)是否有横屏模式的设计,应⽤⼀般需要⽀持横屏模式,即⾃适应设计。
⼗、⼿势操作测试1)⼿机开锁屏对运⾏中的App的影响。2)运⾏中的App前后台切换的影响。3)多个运⾏中的App的切换。4)App运⾏时关机。5)App运⾏时重启系统。6)App运⾏时充电7)App运⾏时Kill掉进程再打开
⼗⼀、客户端数据库测试1)⼀般的增、删、改、查测试。2)当表不存在时是否能⾃动创建,当数据库表被删除后能否再⾃建,数据是否还能⾃动从服务器中获取回来并保存。3)在业务需要从服务器端取回数据保存到客户端的时候,客户端能否将数据保存到本地。4)当业务需要从客户端取数据时,检查客户端数据存在时,App数据是否能⾃动从客户端数据中取出,还是仍然会从服务器端获取?检查客户端数据不存在时,App数据能否⾃动从服务器端获取到并保存到服务器端。5)当业务对数据进⾏了修改、删除后,客户端和服务器端是否会有相应的更新。
2023年6月21日发(作者:)
web测试与APP测试⽅法总结⼀、输⼊框1、字符型输⼊框:(1)字符型输⼊框:英⽂全⾓、英⽂半⾓、数字、空或者空格、特殊字符“~!@#¥%……&*?[]{}”特别要注意单引号和&符号。禁⽌直接输⼊特殊字符时,使⽤“粘贴、拷贝”功能尝试输⼊。(2)长度检查:最⼩长度、最⼤长度、最⼩长度-1、最⼤长度+1、输⼊超⼯字符⽐如把整个⽂章拷贝过去。(3)空格检查:输⼊的字符间有空格、字符前有空格、字符后有空格、字符前后有空格(4)多⾏⽂本框输⼊:允许回车换⾏、保存后再显⽰能够保存输⼊的格式、仅输⼊回车换⾏,检查能否正确保存(若能,检查保存结果,若不能,查看是否有正常提⽰)、(5)安全性检查:输⼊特殊字符串(null,NULL, ,javascript,,
(2)位数:最⼩位数、最⼤位数、最⼩位数-1最⼤位数+1、输⼊超长值、输⼊整数
(3)异常值、特殊字符:输⼊空⽩(NULL)、空格或"~!@#$%^&*()_+{}|[]:"<>?;',./?;:'-=等可能导致系统错误的字符、禁⽌直接输⼊特殊字符时,尝试使⽤粘贴拷贝查看是否能正常提交、word中的特殊功能,通过剪贴板拷贝到输⼊框,分页符,分节符类似公式的上下标等、数值的特殊符号如∑,㏒,㏑,∏,+,-等、输⼊负整数、负⼩数、分数、输⼊字母或汉字、⼩数(⼩数前0点舍去的情况,多个⼩数点的情况)、⾸位为0的数字如01、02、科学计数法是否⽀持1.0E2、全⾓数字与半⾓数字、数字与字母混合、16进制,8进制数值、货币型输⼊(允许⼩数点后⾯⼏位)、(4)安全性检查:不能直接输⼊就copy3、⽇期型输⼊框:(1)合法性检查:(输⼊0⽇、1⽇、32⽇)、⽉输⼊[1、3、5、7、8、10、12]、⽇输⼊[31]、⽉输⼊[4、6、9、11]、⽇输⼊[30][31]、输⼊⾮闰年,⽉输⼊[2],⽇期输⼊[28、29]、输⼊闰年,⽉输⼊[2]、⽇期输⼊[29、30]、⽉输⼊[0、1、12、13] (2)异常值、特殊字符:输⼊空⽩或NULL、输⼊~!@#¥%……&*(){}[]等可能导致系统错误的字符(3)安全性检查:不能直接输⼊,就copy,是否数据检验出错?4、信息重复:在⼀些需要命名,且名字应该唯⼀的信息输⼊重复的名字或ID,看系统有没有处理,会否报错,重名包括是否区分⼤⼩写,以及在输⼊内容的前后输⼊空格,系统是否作出正确处理.⼆、搜索功能若查询条件为输⼊框,则参考输⼊框对应类型的⽅法1、功能实现:(1)如果⽀持模糊查询,搜索名称中任意⼀个字符是否能搜索到(2)⽐较长的名称是否能查到(3)输⼊系统中不存在的与之匹配的条件(4)⽤户进⾏查询操作时,⼀般情况是不进⾏查询条件的清空,除⾮需求特殊说明。2、组合测试:(1)不同查询条件之间来回选择,是否出现页⾯错误(单选框和多选框最容易出错)(2)测试多个查询条件时,要注意查询条件的组合测试,可能不同组合的测试会报错。
三、添加、修改功能1、特殊键:(1)是否⽀持Tab键 (2)是否⽀持回车键2、提⽰信息:(1)不符合要求的地⽅是否有错误提⽰3、唯⼀性:(1)字段唯⼀的,是否可以重复添加,添加后是否能修改为已存在的字段(字段包括区分⼤⼩写以及在输⼊的内容前后输⼊空格,保存后,数据是否真的插⼊到数据库中,注意保存后数据的正确性)4、数据 正确性:(1)对编辑页的每个编辑项进⾏修改,点击保存,是否可以保存成功,检查想关联的数据是否得到更新。(2)进⾏必填项检查(即是否给出提⽰以及提⽰后是否依然把数据存到数据库中;是否提⽰后出现页码错乱等)(3)是否能够连续添加(针对特殊情况)(4)在编辑的时候,注意编辑项的长度限制,有时在添加的时候有,在编辑的时候却没有(注意要添加和修改规则是否⼀致)(5)对于有图⽚上传功能的编辑框,若不上传图⽚,查看编辑页⾯时是否显⽰有默认的图⽚,若上传图⽚,查看是否显⽰为上传图⽚(6)修改后增加数据后,特别要注意查询页⾯的数据是否及时更新,特别是在⾸页时要注意数据的更新。(7)提交数据时,连续多次点击,查看系统会不会连续增加⼏条相同的数据或报错。(8)若结果列表中没有记录或者没选择某条记录,点击修改按钮,系统会抛异常。
四、删除功能1、特殊键:(1)是否⽀持Tab键 (2)是否⽀持回车键2、提⽰信息:(1)不选择任何信息,直接点击删除按钮,是否有提⽰(2)删除某条信息时,应该有确认提⽰3、数据 实现:(1)是否能连续删除多个产品(2)当只有⼀条数据时,是否可以删除成功 (3)删除⼀条数据后,是否可以添加相同的数据(4)如系统⽀持批量删除,注意删除的信息是否正确 (5)如有全选,注意是否把所有的数据删除(6)删除数据时,要注意相应查询页⾯的数据是否及时更新 (7)如删除的数据与其他业务数据关联,要注意其关联性(如删除部门信息时,部门下游员⼯,则应该给出提⽰)(8)如果结果列表中没有记录或没有选择任何⼀条记录,点击删除按钮系统会报错。
如:某⼀功能模块具有最基本的增删改查功能,则需要进⾏以下测试单项功能测试(增加、修改、查询、删除)增加——>增加——>增加 (连续增加测试)增加——>删除增加——>删除——>增加 (新增加的内容与删除内容⼀致)增加——>修改——>删除修改——>修改——>修改 (连续修改测试)修改——>增加(新增加的内容与修改前内容⼀致)修改——>删除修改——>删除——>增加 (新增加的内容与删除内容⼀致)删除——>删除——>删除 (连续删除测试)
五、注册、登陆模块1、注册功能:(1)注册时,设置密码为特殊版本号,检查登录时是否会报错(2)注册成功后,页⾯应该以登陆状态跳转到⾸页或指定页⾯(3)在注册信息中删除已输⼊的信息,检查是否可以注册成功。2、登陆 功能:(1)输⼊正确的⽤户名和正确的密码(2)输⼊正确的⽤户名和错误的密码(3)输⼊错误的⽤户名和正确的密码(4)输⼊错误的⽤户名和错误的密码(5)不输⼊⽤户名和密码(均为空格)(6)只输⼊⽤户名,密码为空(7)⽤户名为空,只输⼊密码(8)输⼊正确的⽤户名和密码,但是不区分⼤⼩写(9)⽤户名和密码包括特殊字符(10)⽤户名和密码输⼊超长值(11)已删除的⽤户名和密码(12)登录时,当页⾯刷新或重新输⼊数据时,验证码是否更新
六、上传图⽚测试1、功能 实现:(1)⽂件类型正确、⼤⼩合适(2)⽂件类型正确,⼤⼩不合适(3)⽂件类型错误,⼤⼩合适(4)⽂件类型和⼤⼩都合适,上传⼀个正在使⽤中的图⽚(5)⽂件类型⼤⼩都合适,⼿动输⼊存在的图⽚地址来上传(6)⽂件类型和⼤⼩都合适,输⼊不存在的图⽚地址来上传(7)⽂件类型和⼤⼩都合适,输⼊图⽚名称来上传(8)不选择⽂件直接点击上传,查看是否给出提⽰(9)连续多次选择不同的⽂件,查看是否上传最后⼀次选择的⽂件
七、查询结果列表1、功能 实现:(1)列表、列宽是否合理(2)列表数据太宽有没有提供横向滚动(3)列表的列名有没有与内容对应(4)列表的每列的列名是否描述的清晰(5)列表是否把不必要的列都显⽰出来(6)点击某列进⾏排序,是否会报错(点击查看每⼀页的排序是否正确)(7)双击或单击某列信息,是否会报错
⼋、返回键检查1、⼀条已经成功提交的记录,返回后再提交,是否做了处理2、检查多次使⽤返回键的情况,在有返回键的地⽅,返回到原来的页⾯多次,查看是否会出错
九、回车键检查1、在输⼊结果后,直接按回车键,看系统如何处理,是否会报错
⼗、刷新键检查1、在Web系统中,使⽤刷新键,看系统如何处理,是否会报错
⼗⼀、直接URL链接检查1、在Web系统中,在地址栏直接输⼊各个功能页⾯的URL地址,看系统如何处理,是否能够直接链接查看(匿名查看),是否有权限控制,是否直接执⾏,并返回相应结果页;
⼗⼆、界⾯和易⽤性测试1、风格、样式、颜⾊是否协调2、界⾯布局是否整齐、协调(保证全部显⽰出来的,尽量不要使⽤滚动条3、界⾯操作、标题描述是否恰当(描述有歧义、注意是否有错别字)4、操作是否符合⼈们的常规习惯(有没有把相似的功能的控件放在⼀起,⽅便操作)5、提⽰界⾯是否符合规范(不应该显⽰英⽂的cancel、ok,应该显⽰中⽂的确定等)6、界⾯中各个控件是否对齐7、⽇期控件是否可编辑8、⽇期控件的长度是否合理,以修改时可以把时间全部显⽰出来为准9、查询结果列表列宽是否合理、标签描述是否合理10、查询结果列表太宽没有横向滚动提⽰11、对于信息⽐较长的⽂本,⽂本框有没有提供⾃动竖直滚动条12、数据录⼊控件是否⽅便13、有没有⽀持Tab键,键的顺序要有条理,不乱跳14、有没有提供相关的热键15、控件的提⽰语描述是否正确16、模块调⽤是否统⼀,相同的模块是否调⽤同⼀个界⾯17、⽤滚动条移动页⾯时,页⾯的控件是否显⽰正常18、⽇期的正确格式应该是XXXX-XX-XX或XXXX-XX-XX XX:XX:XX19、页⾯是否有多余按钮或标签20、窗⼝标题或图标是否与菜单栏的统⼀21、窗⼝的最⼤化、最⼩化是否能正确切换22、对于正常的功能,⽤户可以不必阅读⽤户⼿册就能使⽤23、执⾏风险操作时,有确认、删除等提⽰吗24、操作顺序是否合理25、正确性检查:检查页⾯上的form, button, table, header, footer,提⽰信息,还有其他⽂字拼写,句⼦的语法等是否正确。26、系统应该在⽤户执⾏错误的操作之前提出警告,提⽰信息.27、页⾯分辨率检查,在各种分辨率浏览系统检查系统界⾯友好性。28、合理性检查:做delete, update, add, cancel, back等操作后,查看信息回到的页⾯是否合理。29、检查本地化是否通过:英⽂版不应该有中⽂信息,英⽂翻译准确,专业。
⼗三、兼容性测试兼容性测试不只是指界⾯在不同操作系统或浏览器下的兼容,有些功能⽅⾯的测试,也要考虑到兼容性,包括操作系统兼容和应⽤软件兼容,可能还包括硬件兼容⽐如涉及到ajax、jquery、javascript等技术的,都要考虑到不同浏览器下的兼容性问题。
⼗四、链接测试主要是保证链接的可⽤性和正确性,它也是⽹站测试中⽐较重要的⼀个⽅⾯。可以使⽤特定的⼯具如XENU来进⾏链接测试。1导航测试导航描述了⽤户在⼀个页⾯内操作的⽅式,在不同的⽤户接⼝控制之间,例如按钮、对话框、列表和窗⼝等;或在不同的连接页⾯之间。通过考虑下列问题,可以决定⼀个Web应⽤系统是否易于导航:导航是否直观?Web系统的主要部分是否可通过主页存取?Web系统是否需要站点地图、搜索引擎或其他的导航帮助?在⼀个页⾯上放太多的信息往往起到与预期相反的效果。Web应⽤系统的⽤户趋向于⽬的驱动,很快地扫描⼀个Web应⽤系统,看是否有满⾜⾃⼰需要的信息,如果没有,就会很快地离开。很少有⽤户愿意花时间去熟悉Web应⽤系统的结构,因此,Web应⽤系统导航帮助要尽可能地准确。导航的另⼀个重要⽅⾯是Web应⽤系统的页⾯结构、导航、菜单、连接的风格是否⼀致。确保⽤户凭直觉就知道Web应⽤系统⾥⾯是否还有内容,内容在什么地⽅。Web应⽤系统的层次⼀旦决定,就要着⼿测试⽤户导航功能,让最终⽤户参与这种测试,效果将更加明显。2图形测试在Web应⽤系统中,适当的图⽚和动画既能起到⼴告宣传的作⽤,⼜能起到美化页⾯的功能。⼀个Web应⽤系统的图形可以包括图⽚、动画、边框、颜⾊、字体、背景、按钮等。图形测试的内容有:(1)要确保图形有明确的⽤途,图⽚或动画不要胡乱地堆在⼀起,以免浪费传输时间。Web应⽤系统的图⽚尺⼨要尽量地⼩,并且要能清楚地说明某件事情,⼀般都链接到某个具体的页⾯。(2)验证所有页⾯字体的风格是否⼀致。(3)背景颜⾊应该与字体颜⾊和前景颜⾊相搭配。(4)图⽚的⼤⼩和质量也是⼀个很重要的因素,⼀般采⽤JPG或GIF压缩,最好能使图⽚的⼤⼩减⼩到30k以下(5)最后,需要验证的是⽂字回绕是否正确。如果说明⽂字指向右边的图⽚,应该确保该图⽚出现在右边。不要因为使⽤图⽚⽽使窗⼝和段落排列古怪或者出现孤⾏。通常来说,使⽤少许或尽量不使⽤背景是个不错的选择。如果您想⽤背景,那么最好使⽤单⾊的,和导航条⼀起放在页⾯的左边。另外,图案和图⽚可能会转移⽤户的注意⼒。
⼗五、业务流程测试(主要功能测试)业务流程,⼀般会涉及到多个模块的数据,所以在对业务流程测试时,⾸先要保证单个模块功能的正确性,其次就要对各个模块间传递的数据进⾏测试,这往往是容易出现问题的地⽅,测试时⼀定要设计不同的数据进⾏测试。⼗六、安全性测试(1)SQL注⼊(⽐如登陆页⾯)(2)XSS跨⽹站脚本攻击:程序或数据库没有对⼀些特殊字符进⾏过滤或处理,导致⽤户所输⼊的⼀些破坏性的脚本语句能够直接写进数据库中,浏览器会直接执⾏这些脚本语句,破坏⽹站的正常显⽰,或⽹站⽤户的信息被盗,构造脚本语句时,要保证脚本的完整性。 ("abc") (3)URL地址后⾯随便输⼊⼀些符号,并尽量是动态参数靠后(4)验证码更新问题(5)现在的Web应⽤系统基本采⽤先注册,后登陆的⽅式。因此,必须测试有效和⽆效的⽤户名和密码,要注意到是否⼤⼩写敏感,可以试多少次的限制,是否可以不登陆⽽直接浏览某个页⾯等。(6)Web应⽤系统是否有超时的限制,也就是说,⽤户登陆后在⼀定时间内(例如15分钟)没有点击任何页⾯,是否需要重新登陆才能正常使⽤。(7)为了保证Web应⽤系统的安全性,⽇志⽂件是⾄关重要的。需要测试相关信息是否写进了⽇志⽂件、是否可追踪。(8)当使⽤了安全套接字时,还要测试加密是否正确,检查信息的完整性。(9)服务器端的脚本常常构成安全漏洞,这些漏洞⼜常常被⿊客利⽤。所以,还要测试没有经过授权,就不能在服务器端放置和编辑脚本的问题。
⼗七、性能测试1连接速度测试⽤户连接到Web应⽤系统的速度根据上⽹⽅式的变化⽽变化,他们或许是电话拨号,或是宽带上⽹。当下载⼀个程序时,⽤户可以等较长的时间,但如果仅仅访问⼀个页⾯就不会这样。如果Web系统响应时间太长(例如超过5秒钟),⽤户就会因没有耐⼼等待⽽离开。另外,有些页⾯有超时的限制,如果响应速度太慢,⽤户可能还没来得及浏览内容,就需要重新登陆了。⽽且,连接速度太慢,还可能引起数据丢失,使⽤户得不到真实的页⾯。2负载测试负载测试是为了测量Web系统在某⼀负载级别上的性能,以保证Web系统在需求范围内能正常⼯作。负载级别可以是某个时刻同时访问Web系统的⽤户数量,也可以是在线数据处理的数量。例如:Web应⽤系统能允许多少个⽤户同时在线?如果超过了这个数量,会出现什么现象?Web应⽤系统能否处理⼤量⽤户对同⼀个页⾯的请求?3压⼒测试负载测试应该安排在Web系统发布以后,在实际的⽹络环境中进⾏测试。因为⼀个企业内部员⼯,特别是项⽬组⼈员总是有限的,⽽⼀个Web系统能同时处理的请求数量将远远超出这个限度,所以,只有放在Internet上,接受负载测试,其结果才是正确可信的。进⾏压⼒测试是指实际破坏⼀个Web应⽤系统,测试系统的反映。压⼒测试是测试系统的限制和故障恢复能⼒,也就是测试Web应⽤系统会不会崩溃,在什么情况下会崩溃。⿊客常常提供错误的数据负载,直到Web应⽤系统崩溃,接着当系统重新启动时获得存取权。压⼒测试的区域包括表单、登陆和其他信息传输页⾯等。
备注:1、负载/压⼒测试应该关注什么测试需要验证系统能否在同⼀时间响应⼤量的⽤户,在⽤户传送⼤量数据的时候能否响应,系统能否长时间运⾏。可访问性对⽤户来说是极其重要的。如果⽤户得到“系统忙”的信息,他们可能放弃,并转向竞争对⼿。系统检测不仅要使⽤户能够正常访问站点,在很多情况下,可能会有⿊客试图通过发送⼤量数据包来攻击服务器。出于安全的原因,测试⼈员应该知道当系统过载时,需要采取哪些措施,⽽不是简单地提升系统性能。1)瞬间访问⾼峰如果您的站点⽤于公布彩票的抽奖结果,最好使系统在中奖号码公布后的⼀段时间内能够响应上百万的请求。负载测试⼯具能够模拟X个⽤户同时访问测试站点。2)每个⽤户传送⼤量数据⽹上书店的多数⽤户可能只订购1-5书,但是⼤学书店可能会订购5000本有关⼼理学介绍的课本?或者⼀个祖母为她的50个⼉孙购买圣诞礼物(当然每个孩⼦都有⾃⼰的邮件地址)系统能处理单个⽤户的⼤量数据吗?3)长时间的使⽤如果站点⽤于处理鲜花订单,那么⾄少希望它在母亲节前的⼀周内能持续运⾏。如果站点提供基于web的email服务,那么点最好能持续运⾏⼏个⽉,甚⾄⼏年。可能需要使⽤⾃动测试⼯具来完成这种类型的测试,因为很难通过⼿⼯完成这些测试。你可以想象组织100个⼈同时点击某个站点。但是同时组织100000个⼈呢。通常,测试⼯具在第⼆次使⽤的时候,它创造的效益,就⾜以⽀付成本。⽽且,测试⼯具安装完成之后,再次使⽤的时候,只要点击⼏下。采取措施:采⽤性能测试⼯具WAS、ACT,LR等协助进⾏测试
⼗⼋、测试中应该注意的其他情况1、在测试时,与⽹络有关的步骤或者模块必须考虑到断⽹的情况2、每个页⾯都有相应的Title,不能为空,或者显⽰“⽆标题页”3、在测试的时候要考虑到页⾯出现滚动条时,滚动条上下滚动时,页⾯是否正常4、URL不区分⼤⼩写,⼤⼩写不敏感5、、对于电⼦商务⽹站,当⽤户并发购买数量⼤于库存的数量时,系统如何处理6、测试数据避免单纯输⼊“123”、“abc“之类的,让测试数据尽量接近实际7、进⾏测试时,尽量不要⽤超级管理员进⾏测试,⽤新建的⽤户进⾏测试。测试⼈员尽量不要使⽤同⼀个⽤户进⾏测试8、提⽰信息:提⽰信息是否完整、正确、详细9、帮助信息:是否提供帮助信息,帮助信息的表现形式(页⾯⽂字、提⽰信息、帮助⽂件),帮助信息是否正确、详细10、可扩展性:是否由升级的余地,是否保留了接⼝11、稳定性:运⾏所需的软硬件配置,占⽤资源情况,出现问题时的容错性,对数据的保护12、运⾏速度:运⾏的快慢,带宽占⽤情况
App测试⽅法总结(详细版)
⼀、安全测试1.软件权限1)扣费风险:包括短信、拨打电话、连接⽹络等。2)隐私泄露风险:包括访问⼿机信息、访问联系⼈信息等。3)对App的输⼊有效性校验、认证、授权、数据加密等⽅⾯进⾏检测4)限制/允许使⽤⼿机功能接⼊互联⽹5)限制/允许使⽤⼿机发送接收信息功能6)限制或使⽤本地连接7)限制/允许使⽤⼿机拍照或录⾳8)限制/允许使⽤⼿机读取⽤户数据9)限制/允许使⽤⼿机写⼊⽤户数据10)限制/允许应⽤程序来注册⾃动启动应⽤程序
2.安装与卸载安全性1)应⽤程序应能正确安装到设备驱动程序上2)能够在安装设备驱动程序上找到应⽤程序的相应图标3)安装路径应能指定4)没有⽤户的允许,应⽤程序不能预先设定⾃动启动5)卸载是否安全,其安装进去的⽂件是否全部卸载6)卸载⽤户使⽤过程中产⽣的⽂件是否有提⽰7)其修改的配置信息是否复原8)卸载是否影响其他软件的功能9)卸载应该移除所有的⽂件
3.数据安全性1)当将密码或其它的敏感数据输⼊到应⽤程序时,其不会被存储在设备中,同时密码也不会被解码。2)输⼊的密码将不以明⽂形式进⾏显⽰。3)密码、信⽤卡明细或其他的敏感数据将不被存储在它们预输⼊的位置上。4)不同的应⽤程序的个⼈⾝份证或密码长度必须⾄少在4-8个数字长度之间。5)当应⽤程序处理信⽤卡明细或其它的敏感数据时,不以明⽂形式将数据写到其他单独的⽂件或者临时⽂件中。以防⽌应⽤程序异常终⽌⽽⼜没有删除它的临时⽂件,⽂件可能遭受⼊侵者的袭击,然后读取这些数据信息。6)党建敏感数据输⼊到应⽤程序时,其不会被存储在设备中。7)应⽤程序应考虑或者虚拟机器产⽣的⽤户提⽰信息或安全警告8)应⽤程序不能忽略系统或者虚拟机器产⽣的⽤户提⽰信息或安全警告,更不能在安全警告显⽰前,利⽤显⽰误导信息欺骗⽤户,应⽤程序不应该模拟进⾏安全警告误导⽤户。9)在数据删除之前,应⽤程序应当通知⽤户或者应⽤程序提供⼀个“取消”命令的操作。10)应⽤程序应当能够处理当不允许应⽤软件连接到个⼈信息管理的情况。11)当进⾏读或写⽤户信息操作时,应⽤程序将会向⽤户发送⼀个操作错误的提⽰信息。12)在没有⽤户明确许可的前提下不损坏删除个⼈信息管理应⽤程序中的任何内容。13)如果数据库中重要的数据正要被重写,应及时告知⽤户。14)能合理的处理出现的错误。15)意外情况下应提⽰⽤户。
4.通讯安全性1)在运⾏软件过程中,如果有来电、SMS、蓝⽛等通讯或充电时,是否能暂停程序,优先处理通信,并在处理完毕后能正常恢复软件,继续其原来的功能。2)当创⽴连接时,应⽤程序能够处理因为⽹络连接中断,进⽽告诉⽤户连接中断的情况。3)应能处理通讯延时或中断。4)应⽤程序将保持⼯作到通讯超时,进⽽给⽤户⼀个错误信息指⽰有链接错误。5)应能处理⽹络异常和及时将异常情况通报⽤户。6)应⽤程序关闭⽹络连接不再使⽤时应及时关闭,断开。 5.⼈机接⼝安全测试1)返回菜单应总保持可⽤。2)命令有优先权顺序。3)声⾳的设置不影响使⽤程序的功能。4)声⾳的设置不影响应⽤程序的功能5)应⽤程序必须能够处理不可预知的⽤户操作,例如错误的操作和同时按下多个键。
⼆、安装、卸载测试验证App是否能正确安装、运⾏、卸载、以及操作过程和操作前后对系统资源的使⽤情况
1.安装1)软件安装后是否能够正常运⾏,安装后的⽂件夹以及⽂件是否写到了指定的⽬录⾥。2)软件安装各个选项的组合是否符合概要设计说明。3)软件安装向导的UI测试4)安装后没有⽣成多余的⽬录结构和⽂件。
2.卸载1)测试系统直接卸载程序是否有提⽰信息。2)测试卸载后⽂件是否全部删除所有的安装⽂件夹。3)卸载是否⽀持取消功能,单击取消后软件卸载的情况。4)系统直接卸载UI测试,是否有卸载状态进度条提⽰。
三、UI测试1)测试⽤户界⾯(如菜单、对话框、窗⼝和其他控件)布局、风格是否满⾜要求、⽂字是否正确、页⾯是否美观、⽂字、图⽚组合是否完美、操作是否友好等。2)UI测试的⽬标是确保⽤户界⾯会通过测试对象的功能来为⽤户提供相应的访问或浏览功能。确保⽤户界⾯符合公司或⾏业的标准。包括⽤户友好性、⼈性化、易操作性测试。
1.导航测试1)按钮、对话框、列表和窗⼝等;或在不同的连接页⾯之间需要导航。2)是否易于导航,导航是否直观。3)是否需要搜索引擎。4)导航帮助是否准确直观。5)导航与页⾯结构、菜单、连接页⾯的风格是否⼀致。 2.图形测试1)横向⽐较,各控件操作⽅式统⼀。2)⾃适应界⾯设计,内容根据窗⼝⼤⼩⾃适应。3)页⾯标签风格是否统⼀。4)页⾯是否美观。5)页⾯的图⽚应有其实际意义⽽要求整体有序美观。
3.内容测试1)输⼊框说明⽂字的内容与系统功能是否⼀致。2)⽂字长度是否加以限制。3)⽂字内容是否表意不明。4)是否有错别字。5)信息是否为中⽂显⽰。
四、功能测试根据软件说明或⽤户需求验证App的各个功能实现,采⽤如下⽅法实现并评估功能测试过程:1)采⽤时间、地点、对象、⾏为和背景五元素或业务分析等⽅法分析、提炼App的⽤户使⽤场景,对⽐说明或需求,整理出内在、外在及⾮功能直接相关的需求,构建测试点,并明确测试标准。2)根据被测功能点的特性列出相应类型的测试⽤例对其进⾏覆盖,如:设计输⼊的地⽅需要考虑等价、边界、负⾯、异常、⾮法、场景回滚、关联测试等测试类型对其进⾏覆盖。3)在测试实现的各个阶段跟踪测试实现与需求输⼊的覆盖情况,及时修正业务或需求理解错误。
1.运⾏1)App安装完成后的试运⾏,可正常打开软件。2)App打开测试,是否有加载状态进度提⽰。3)App页⾯间的切换是否流畅,逻辑是否正确。4)注册同表单编辑页⾯⽤户名密码长度注册后的提⽰页⾯前台注册页⾯和后台的管理页⾯数据是否⼀致注册后,在后台管理中页⾯提⽰5)登录使⽤合法的⽤户登录系统系统是否允许多次⾮法的登录,是否有次数限制使⽤已经登录的账号登录系统是否正确处理⽤户名、⼝令(密码)错误或漏填时能否登陆删除或修改后的⽤户,原⽤户名登陆不输⼊⽤户⼝令和重复点“确定/取消”按钮,是否允许登录登陆后,页⾯中登录信息页⾯中有注销按钮登录超时的处理
2.应⽤的前后台切换1)App切换到后台,再回到App,检查是否停留在上⼀次操作界⾯。2)App切换到后台,再回到App,检查功能及应⽤状态是否正常。3)App切换到后台,再回到前台时,注意程序是否崩溃,功能状态是否正常,尤其是对于从后台切换回前台数据有⾃动更新的时候。4)⼿机锁屏解锁后进⼊App注意是否会崩溃,功能状态是否正常,尤其是对于从后台切换回前台数据有⾃动更新的时候。5)当App使⽤过程中有电话进来中断后再切换到App,功能状态是否正常。6)当杀掉App进城后,再开启App,App能否正常启动。7)出现必须处理的提⽰框后,切换到后台,再切换回来,检查提⽰框是否还存在,有时候会出现应⽤⾃动跳过提⽰框的缺陷。8)对于有数据交换的页⾯,每个页⾯都必须要进⾏前后台切换、锁屏的测试,这种页⾯最容易出现崩溃。
3.免登陆很多应⽤提供免登陆功能,当应⽤开启时⾃动以上⼀次登录的⽤户⾝份来使⽤App。1)考虑⽆⽹络情况时能否正常进⼊免登录状态。2)切换⽤户登陆后,要校验⽤户登录信息以及数据内容是否相应更新,确保原⽤户退出。3)根据Mtop的现有规则,⼀个账户只允许登陆⼀台机器。所以,需要检查⼀个账户登录多台⼿机的情况。原⼿机⾥的⽤户需要被退出,给出友好提⽰。4)App切换到后台,在切换回前台的校验。5)切换到后台,再切换回到前台的测试。6)密码更换后,检查有数据交换时是否进⾏了有效⾝份的校验。7)⽀持⾃动登录的应⽤在进⾏数据校验时,检查系统是否能⾃动登录成功并且数据操作⽆误。8)检查⽤户主动退出登录后,下次启动App,应停留在登录界⾯。
4.离线浏览很多应⽤会⽀持离线浏览,即在本地客户端会缓存⼀部分数据供⽤户查看。1)在⽆线⽹络情况可以浏览本地数据。2)退出App再开启App时能正常浏览。3)切换到后台再回到前台可以正常浏览。4)锁屏后再解锁回到应⽤前台可以正常浏览。5)在对服务器段的数据有更新时回给予离线的相应提⽰。
更新1)当客户端有新版本时,有更新提⽰。2)当版本为⾮强制升级版时,⽤户可以取消更新,⽼版本能正常使⽤。⽤户在下次启动App时,仍出现更新提⽰。3)当版本为强制升级版时,但给出强制更新后⽤户没有做更新时,退出客户端。下次启动App时,仍出现强制升级提⽰。4)当客户端有新版本时,在本地不删除客户端的情况下,直接更新检查是否能正常更新。5)当客户端有新版本时,在本地不删除客户端的情况下,检查更新后的客户端功能是否是新版本。6)当客户端有新版本时,在本地不删除客户端的情况下,检查资源同名⽂件如图⽚是否能正常更新成最新版本。如果以上⽆法更新成功的,也都属于缺陷。
6.定位、照相机服务1)App有⽤到相机,定位服务时,需要注意系统版本差异。2)有⽤到照相机服务的地⽅,需要进⾏前后台的切换测试,检查应⽤是否正常。3)测试照相机服务时,需要采⽤真机进⾏测试。
测试1)检查Push消息是否按照指定的业务规则发送。2)检查不接收推送消息时,⽤户不会在接收到Push消息。3)如果⽤户设置了免打扰的时间段,检查在免打扰时间段内,⽤户接收不到Push。在⾮免打扰时间段内,⽤户能正常收到Push。4)当Push消息是针对登录⽤户的时候,需要检查收到的Push与⽤户⾝份是否相符,没有错误的将其他⼈的消息推送过来。⼀般情况下,只对⼿机上最后⼀个登录⽤户进⾏消息推送。5)测试Push时,需要采⽤真机进⾏测试。
五、性能测试1)响应能⼒测试:测试App中的各类操作是否满⾜⽤户响应时间要求。App安装、卸载的响应时间App各类功能性操作的响应时间2)压⼒测试,反复/长期操作下,系统资源是否占⽤异常。App反复进⾏安装卸载,检查系统资源是否正常其他功能反复进⾏操作,检查系统资源是否正常 六、交叉事件测试针对智能终端应⽤的服务等级划分⽅式及实时特性所提出的测试⽅法。交叉测试⼜叫事件或冲突测试,是指⼀个功能正在执⾏过程中,同时另外⼀个事件或操作对该过程进⾏⼲扰的测试。如:App在前/后台运⾏状态时与来电、⽂件下载、⾳乐收听等关键运⽤的交互情况测试等。交叉事件测试⾮常重要,能发现很多应⽤中潜在的性能问题。1)多个App同时运⾏是否影响正常功能。2)App运⾏时前/后台切换是否影响正常功能。3)App运⾏时拨打/接听电话。4)App运⾏时发送/接收信息。5)App运⾏时发送/收取邮件。6)App运⾏时浏览⽹络。7)App运⾏时使⽤蓝⽛传送/接收数据。8)App运⾏时使⽤相机、计算器等⼿机⾃带设备。
七、兼容测试主要测试内部和外部兼容性1)与本地及主流App是否兼容2)与各种设备是否兼容,若有跨系统⽀持则需要检验是否在个系统下,各种⾏为是否⼀致。不同⼿机屏幕分标率的兼容性不同⼿机品牌的兼容性
⼋、回归测试1)Bug修复后且在新版本发布后需要进⾏回归测试。2)Bug修复后的回归测试在交付前、要进⾏⼤量⽤例的回归测试。
九、⽤户体验测试以主观的普通消费者的⾓度去感知产品或服务的舒适、有⽤、易⽤、友好亲切程度。通过不同个体、独⽴空间和⾮经验的统计复⽤⽅式去有效评价产品的体验特性,提出修改意见提升产品的潜在客户满意度。1)是否有空数据界⾯设计,引导⽤户去执⾏操作。2)是否滥⽤⽤户引导。3)是否有不可点击的效果,如:你的按钮此时处于不可⽤状态,那么⼀定要灰掉,或者拿掉按钮,否则会给⽤户误导。4)菜单层次是否太深。5)交互流程分⽀是否太多。6)相关的选项是否离的很远。7)⼀次是否载⼊太多的数据。8)界⾯中按钮可点击范围是否适中。9)标签页是否跟内容没有从属关系,当切换标签的时候,内容跟着切换。10)操作应该有主次从属关系。11)是否定义Back的逻辑。涉及软硬件交互时,Back键应具体定义。12)是否有横屏模式的设计,应⽤⼀般需要⽀持横屏模式,即⾃适应设计。
⼗、⼿势操作测试1)⼿机开锁屏对运⾏中的App的影响。2)运⾏中的App前后台切换的影响。3)多个运⾏中的App的切换。4)App运⾏时关机。5)App运⾏时重启系统。6)App运⾏时充电7)App运⾏时Kill掉进程再打开
⼗⼀、客户端数据库测试1)⼀般的增、删、改、查测试。2)当表不存在时是否能⾃动创建,当数据库表被删除后能否再⾃建,数据是否还能⾃动从服务器中获取回来并保存。3)在业务需要从服务器端取回数据保存到客户端的时候,客户端能否将数据保存到本地。4)当业务需要从客户端取数据时,检查客户端数据存在时,App数据是否能⾃动从客户端数据中取出,还是仍然会从服务器端获取?检查客户端数据不存在时,App数据能否⾃动从服务器端获取到并保存到服务器端。5)当业务对数据进⾏了修改、删除后,客户端和服务器端是否会有相应的更新。
发布评论