APP测试一直是大厂软件测试问到的一个重点细节,下面我来给大家展示一下大厂关于APP测试经常会问到的一些问题,以及解析。想象一下当你遇到面试官问到你这些问题时,你是否也能够对答如流哦!

注意,注意啦!小编花了几天时间总结出了web 测试,接口测试,App 测试,管理工具,等等核心知识点。需要的朋友可以在公众号:【伤心的辣条】获取软件测试学习核心知识点。无偿喔!

APP测试面试真题及解析:

  • 手机app兼容性测试:主要是针对android各个系统版本进行测试,及测试屏幕分辨率进行测试;

  • 说说会用哪些抓包工具?怎么用的?

  • 解析:比如fiddler,主要用来做app抓包使用,先在fiddler客户端做好各项配置,端口设置为8888,然后在手机上设置代理,就可以抓包了,主要看的是服务器返回的值、还能够修改传入参数、传出的参数、模拟网络延时,去构造不同场景。

  • 什么是alpha测试和beta测试?

  • 解析:alpha测试:在公司场地,由员工主导的测试行为;beta测试:在客户场地,由客户主导进行的测试。

  • 简单介绍一下Android SDK中自带的几个工具/命令的功能?

  • 解析:ddms:Dalvik Debug Monitor Service,是 Android 开发环境中的Dalvik[虚拟机]调试监控服务。

  • monkey:Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。

  • uiautomator:UIAutomator是Eclipse自带的用于UI自动化测试工具,可仿真APP上的单击、滑动、输入文本等操作。

  • monitor:同uiautomator

  • adb:ADB的全称为Android Debug Bridge,就是起到调试桥的作用。通过ADB我们可以在Eclipse中方面通过DDMS来调试Android程序,就是debug工具。

二,以京东首页为例 ,设计用例框架 。 (注意框架设计逻辑,区域划分 ,专看项测试等,不需要详细用例,需要查看 PC 可直接和辨识管提要求)

三,如何测试购买下单和退货流程

产品经理设计了单品优惠,组合优惠,订单优惠,优惠券优惠(优惠券优惠包含通用券,定向券,满减券,折扣券)和礼品卡,其中礼品卡上需要单独购买的。请问如何测试购买下单和退货流程,需要注意什么?(包含数据存储)

四,什么是 sql 注入,什么是XSS跨站脚本攻击,什么是跨站请求伪造?

1、SQL注入

原理:SQL注入就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。SQL注入漏洞到底是以怎样的形式进行攻击的呢,接下来将以一个简单的实例来进行介绍。

比如在一个登陆界面,有两个文本框分别用来输入用户名和密码,当用户点了登录按钮的时候,会对输入的用户名和密码进行验证。

2、XSS跨站脚本攻击

原理:XSS(Cross Site Scripting)跨站脚本攻击指攻击者在网页中嵌入客户端脚本(例如JavaScript),当用户浏览此网页时,脚本就会在用户的浏览器上执行,从而达到攻击者的目的,比如获取用户的Cookie,导航到恶意网站,携带木马等。

向网页中注入恶意脚本在用户浏览网页时在用户浏览器中执行恶意脚本的攻击方式。跨站脚本攻击分有两种形式:反射型攻击(诱使用户点击一个嵌入恶意脚本的链接以达到攻击的目标,目前有很多攻击者利用论坛、微博发布含有恶意脚本的 URL 就属于这种方式)持久型攻击(将恶意脚本提交到被攻击网站的数据库中,用户浏览网页时,恶意脚本从数据库中被加载到页面执行,QQ 邮箱的早期版本就曾经被利用作为持久型跨站脚本攻击的平台)。

3、跨站点请求伪造

原理:CSRF( Cross-site request forgery )尽管听起来很像XSS跨站脚本攻击,但是它于XSS完全不同。XSS是利用站点内的信任用户,而CSRF则是通过伪装来自受信任用户的请求来利用受信任的站点,从而在并未授权的情况下执行在权限保护之下的操作。与XSS相比,CSRF攻击不大流行和难以防范,所以比XSS更具危险性。

CSRF 攻击是攻击者通过跨站请求,以合法的用户身份进行非法操作(如转账或发帖等)。CSRF 的原理是利用浏览器的 Cookie 或服务器的 Session,盗取用户身份,防范 CSRF 的主要手段是识别请求者的身份。

五,给你一个网站怎么开展测试?

1、首先,查找需求说明、网站设计 m 等相关文档,分析测试需求。

2、制定测试计划,确定测试范围和测试策略,一般包括以下几个部分: 功能性测试;界面测试;性能测试;数据库测试;安全性测试;兼容性测试

3、设计测试用例: 功能性测试可以包括,但不限于以下几个方面:
链接测试。链接是否正确跳转,是否存在空页面和无效页面,是否有不正确的出错信息返回等。

4、提交功能的测试

多媒体元素是否可以正确加载和显示。

多语言支持是否能够正确显示选择的语言等。

5、界面测试可以包括但不限于以下几个方面:

页面是否风格统一,美观;页面布局是否合理,重点内容和热点内容是否突出;控件是否正常使用;对于必须但为安装的空间,是否提供自动下载并安装的功能;文字检查

6、性能测试一般从以下两个方面考虑:

压力测试;负载测试;强度测试

数据库测试要具体决定是否需要开展。数据库一般需要考虑连结性,对数据的存取操作,数据内容的验证等方面。

7、安全性测试:

1 基本的登录功能的检查 2 是否存在溢出错误,导致系统崩溃或者权限泄露 3 相关开发语言的常见安全性问题检查,例如 SQL 注入等。4 如果需要高级的安全性测试,确定获得专业安全公司的帮助,外包测试,或者获取支持

8、兼容性测试

根据需求说明的内容,确定支持的平台组合:浏览器的兼容性;操作系统的兼容性;软件平台的兼容性;数据库的兼容性

9、开展测试,并记录缺陷。合理的安排调整测试进度,提前获取测试所需的资源,建立管理体系(例如,需求变更、风险、配置、测试文档、缺陷报告、人力资源等内容)。定期评审,对测试进行评估和总结,调整测试的内容。

六,电商支付模块的测试如何展开?

先看下流程图,是否对流程图有些了解,不仅仅是做支付功能相关测试才去搞清楚其中的流程,做其他的测试一样也要搞清楚流程,只有搞清楚流程,才能更好的评估其中的风险,才能有利于测试用例的设计。当然流程图中只是提到了商户与第三方是如何交互的,同样商户内部处理的流程也要有所了解及数据怎么存储的,涉及到哪些DB也要清楚。

这个支付流程图里面就涉及到了第三方支付接口:

下单接口:商户提交下单请求到第三方支付接口,第三方支付收单成功后返回下单成功结果给到商户系统。(下单接口的最终处理结果分为下单成功和下单失败,若未收到明确结果可调用单笔订单查询接口查询结果。)

支付接口:调用该接口时指定支付参数,完成买家账户向商户账户的支付,采用页面跳转交互模式和后台通知交互模式。(结果分为两路返回:一路为前台在return_url页面跳转显示支付结果;一路为后台在notify_url收到支付结果通知后进行响应。)

退款接口:调用第三方支付的支付请求接口返回付款成功后,在需要做退款处理时调用退款请求接口发起退款处理。(退款接口的最终处理结果分为退款成功和退款失败,若未收到明确结果可调用退款查询接口查询结果。)

单笔订单查询接口:根据订单号查询单笔订单信息和状态。

退款订单查询接口:调用第三方支付的退款接口返回后,在需要查询退款请求状态可调用退款订单查询接口查询退款订单的状态和订单信息。

测试过程中需要注意的主要测试点及异常场景:

首先要保证接口都能正常调用;

生成一笔订单,支付完成后,同步或异步重复回调,只有一次有效;

生成一笔订单,复制订单号和金额,再次生成一笔订单,用fiddler设置断点,用第一笔已完成的订单号和订单金额去替换现有的订单号和金额,无法完成支付

生成一笔订单,跳转到第三方时修改金额,无法到账,或者如果是游戏充值游戏币的话,到账为篡改后的金额对应的游戏币

异步通知屏蔽,同步有效,进行支付,同步能够正常到账

同步设置无效,异步有效,进行支付,异步能够正常到账

同步异步都设置无效,在第三方支付完成后,在重发机制时间范围内,设置异步有效,到下次通知时间点时,能够正常通知到账(补单机制的验证,如果商户收到第三方支付成功的通知后,要告知第三方支付收到了成功的通知,如果第三方支付收到商户应答不是ok或超时,第三方支付就会认为通知失败,会在规定的时间内持续调用notify_url,一般有时间或次数的限制)

针对支付订单在数据库中存储是否完整和正确进行校验(比如:第三方订单号–方便与第三方对账和问题排查、订单金额、订单状态等)

如果是用户购买实物商品,用户发起退货,要保证退货流程正常,资金能正常返还,要考虑下并发情况的验证以确保安全性

如果是用户购买虚拟商品,比如话费、油卡之类的商品,只有在发货失败的时候才能发起退货,注意验证

遇到过的坑:

用户购买100元游戏币时,前往第三方支付跳转进行金额的篡改由100元改成0.01元,结果就拿了0.01元充值了100元的游戏币。对订单金额没有做校验导致这样的后果,损失比较大。大家在测试的过程中一定要注意对服务端进行校验,支付时数据的篡改一定要有校验

当同步、异步通知都存在的情况的,异步通知(第三方支付成功后台通知),没有到账,导致部分用户充值不到账,引起客诉。当同步、异步并存的时候,一定要分别对同步和异步进行检验,确保都能正常到账


最后:如果对软件测试、接口测试、自动化测试、技术同行、持续集成、面试经验交流。感兴趣可以进群 902061117,群内会有不定期的分享测试资料。

如果文章对你有帮助,麻烦伸出发财小手点个赞,感谢您的支持,你的点赞是我持续更新的动力。

好文推荐

2021软件测试工程师面试题汇总(内含答案)-看完BATJ面试官对你竖起大拇指!

什么样的人适合从事软件测试工作?

软件测试和软件开发哪个发展更好

那个准点下班的人,比我先升职了…

字节软件测试岗二面:APP测试问题被虐哭了,直到看到这些知识点相关推荐

  1. 软件测试黑马工程师---Android app测试(01)

    手机,现在已经完全的融进了现代的生活里.现在只要你带一部手机,基本上已经可以完成生活的基本需求了,衣----淘宝.天猫等各大网络商店送货之你家门口,食---美团.饿了么恨不得把美食送到你嘴边.住--- ...

  2. 软件测试岗月薪3w+的测试,到底强在哪里?测试开发真的就是天花板了吗?

    小编热衷于收集整理资源,记录踩坑到爬坑的过程.希望能把自己所学,实际工作中使用的技术.学习方法.心得及踩过的一些坑,记录下来.也希望想做软件测试的你一样,通过我的分享可以少走一些弯路,可以形成一套自己 ...

  3. 软件测试(二)-经典测试技术-静态测试

    1. 静态测试  在软件测试技术之中,静态测试是经典的测试技术一类.这里,我们先概  要解释和说明一下静态测试技术.   静态测试不以测试数据的执行而是对测试对象的分析过程.   静态测试存在于软 ...

  4. 软件测试(四)app测试的每日测试进度报告模板

      在一个较大型的项目中,通常运作的方式是按照子项目或者功能模块来进行分工的,每个功能模块有具体对应的设计.产品.运营.开发和测试人员.结合实际的项目情况,如果功能较大可能上面一个角色有多个人一起参与 ...

  5. 软件测试-如何抓取APP测试中崩溃的log日志

    android闪退获取日志方法: 1.下载adb工具包 2.注意事项 请确保电脑上只连接了一台手机设备(最好只连接一条USB线),同时确保手机已开启USB调试模式(可通过手机助手查看连接状态) 3.A ...

  6. APP测试和传统软件测试有什么区别?

    软件测试从字面意思我们就知道它主要是做软件产品方面的测试,尤其是APP这块,那么很多人就问了APP测试和传统软件测试有什么区别?来看看下面的详细介绍. 软件测试培训分享:APP测试和传统软件测试有什么 ...

  7. APP测试和传统软件测试有什么区别

    APP测试和传统软件测试有什么区别?APP测试和传统测试是有一些区别的,移动APP的特点使得它与传统软件在开发.测试方面都有所不同.比较移动APP测试与传统软件测试的不同,要从以下几个方面进行考虑: ...

  8. 最全APP测试思想及流程要点,高薪测试人员一定要看

    App已经渗透到每个人的生活.娱乐.学习.工作当中,APP作为现如今几乎最广泛的应用程序,在所有的移动平台上都有应用,并且以极高的速度增长.但是作为程序而言,出现的时间并不是非常久.很多原有的软件测试 ...

  9. centos7使用蓝牙_Nmon的使用和APP测试要点

    一.Nmon的使用 授权 chmod +x nmon_x86_64_centos7 运行nmon ./nmon_x86_64_centos7 nmon的常用命令 C CPU ; M 内存:N 网络:D ...

最新文章

  1. openstack中RemoteError: AgentNotFoundByTypeHost解决
  2. dalvik 与art 区别
  3. 类中友元(c++小细节篇一)
  4. java session使用_java学习之web基础(8):使用session实现带验证码的登录功能
  5. cant find module express
  6. pandas用均值填充nan_Pandas学习笔记(三)
  7. 平台策略:从Portlet到OpenSocial小工具再到渐进式Web应用程序:最新技术
  8. _stat64获取错误_Log4j,Stat4j,SMTPAppender集成–汇总错误日志以发送过多电子邮件...
  9. jquery06 jQuery.extend 给jQuery函数添加、继承 静态方法
  10. 比赛计分软件部分界面抓图
  11. 黑莓9900 java应用,黑莓9900怎么用 黑莓9900使用技巧【图文详解】
  12. 《统计学习方法》第7章 课后题答案
  13. 泛微E9 MVC开发
  14. 数据分析 一文搞懂什么是RFM模型
  15. ppt怎么加注解文字_ppt怎么添加备注文字?
  16. 先是艾瑞咨询后是腾讯,永洪科技把客户变成了投资人
  17. 【NOIP2017提高A组集训10.25】嘟嘟噜
  18. python 在线客服_如何利用Python实现简单全双工在线客服系统!这个有点东西!...
  19. Hi3512的IPCAM开发
  20. 【R语言】典型相关分析,自写函数计算相关系数

热门文章

  1. onenote 模板_onenote实用?炫酷功能系列篇②:用插件让效率翻倍
  2. python爬取网页内容requests_[转][实战演练]python3使用requests模块爬取页面内容
  3. servlet到mysql_在servlet中搜索代码到mysql?
  4. GCC编译器简明教程(Linux下C语言开发环境的搭建)
  5. java 终止方法_Java中终止线程的三种方法
  6. Go语言之map练习
  7. Python-进阶-装饰器小结
  8. div模拟textarea在ios下不兼容的问题解决
  9. 九、模型文档编辑器(生成项目文档)
  10. JAVA生产者消费者的实现