app常见专项测试点

2023-11-04

常见的apk专项测试,主要有几类(主要指项目中经常用到的)

1、稳定性
2、安全性
3、兼容性
4、版本升级
5、流量测试
6、实际测试总结(对整个项目团队是如何进行测试以及测试的内容)

一、稳定性测试
稳定性测试是指对应用进行长时间的操作,检测功能是否稳定。一般稳定性测试时间是 N*12小时。项目中稳定测试多采用monkey,进行随机测试。

测试方法:
1、跑monkey
adb shell monkey -p packageName -v -v -v --throttle 500 -s 4 --ignore-crashes --ignore-timeouts --ignore-security-exceptions times(次数) |logcat -v time > e:\log\monkeyLog.txt(日志保存路径)

参数:
-p : 指点包名,如果要指定多个包名,需多个-p参数
-v : 指定日志的详细程度,取值1-3,三个 -v 详细程度最高
-throttle : 指定用户操作时的时延,单位毫秒
-s : 指定伪随机数生成器的seed值,取值1-10,当seed相同,产生的事件序列也相同
–ignore-crashes : 指应用程序崩溃,monkey依然发送事件,直到事件数完成
–ignore-timeouts: 指应用程序发生ANR,monkey依然发送事件,直到事件数完成
–ignore-security-exceptions: 指应用程序发生许可错误,monkey依然发送事件,直到事件数完成
|logcat -v time: 给monkey命令的日志加上时间

2、日志解析
稳定性测试是否能通过在于日志,需要把日志里的报错日志搜索出来,开发定位问题。
1)、用Notepad++打开日志
2)、ctrl + F
在这里插入图片描述
3)、分析exception日志,定位问题。

二、安全测试
如果平时不接触安全测试,安全测试就像一个盲区,我也是有一个同事负责项目预置版本需要对安全方面进行测试,利用空余时间,琢磨了一二,其中看到了一些不错的博客,能对安全测试有个系统了解,我觉得这是有必要的。
移动安全测试的一些总结:http://blog.51cto.com/laoyinga/2155341
常见的安全漏洞 :https://blog.csdn.net/zhangcanyan/article/details/51347629

在自己的项目测试中,安全测试就是利用一些安全辅助平台对被测应用进行测试,主要用到两个安全辅助平台:腾讯哈勃分析系统 和 VirusTotal(一个可疑文件分析服务的网站)以及drozer(安全测试工具)。

测试方法:
1、将app在 https://www.virustotal.com/ 扫描,获取报告
2、将app在 https://habo.qq.com/ 扫描,获取报告
******* 如果有报错日志,给开发看,他们会分析的是否需要修复还是忽略 *******

(以下是我项目组的测试报告中的安全测试~~~~)
在这里插入图片描述

3、利用drozer进行安全渗透测试
drozer是一款综合的安全评估和攻击的android框架,全面评估app的安全性,并帮助团队把app的安全风险保持在可控范围内。安卓组件是构成安卓应用的基础,其中有四大组件是我们安全渗透测试的关注点。

四大组件:
1)、activities ---- 控制用户UI,处理用户在智能手机屏幕上的交互
2)、services ----无须可视化界面,提供后台长时间运行的功能
3)、Broadcast Receivers ---- 处理安卓应用程序与安卓系统之间的通信
4)、Content Providers ---- 处理数据与数据库之间的管理问题

测试步骤:
(安装drozer, drozerAgent.apk, 配置java, jdk,adb,这里我就不阐述了~~~)
1、手机和PC端相连,在PC上使用adb命令进行端口转发,到drozer使用的端口:31415
adb forward tcp:31415 tcp:31415
在这里插入图片描述
2、在手机上打开drozer agent.apk,选择embedded server ---->enable
在这里插入图片描述
在这里插入图片描述
3、cmd命令窗口切到drozer安装路径,开启drozer console
在这里插入图片描述

在开始使用测试之前,首先得熟悉一些drozer命令:
https://blog.csdn.net/cch139745/article/details/53519900 (drozer命令大全)
以下就只介绍用的多的drozer命令哒~

a、list -----列出所有模块
在这里插入图片描述


附录:(APP模块的作用说明)
APP模块
模块名 ------------------------ 作用
app.activity.forintent : 通过intent查找它的activity
app.activity.info : 获取activities信息
app.activity.start : 开启 Activity
app.broadcast.info : 获取broadcast receivers信息
app.broadcast.send : 发送广播
app.broadcast.sniff : 嗅探广播中intent的数据
app.package.attacksurface :确定安装包的可攻击面
app.package.backup : 列出可备份的包
app.package.debuggable: 列出可debug的包
app.package.info : 获取已安装包的信息
app.package.launchintent: 获取程序启动的activity信息
app.package.list : 手机已安装的程序包
app.package.manifest : 获取程序manifest文件信息
app.package.native : 列出Native libraries 信息
app.package.shareduid : 查找拥有共同uid的包和他们所有的权限
app.provider.columns : 展示content provider URI的各列
app.provider.delete : 删除content provider URI的内容
app.provider.download : 使用openInputStream读取指定uri的内容,并下载在电脑中
app.provider.info : 获取 content providers信息
app.provider.insert : 插入数据到content provider
app.provider.query : 查询content provider 内容
app.provider.read : 使用openInputStream读取指定uri的内容
app.provider.update : 更新content provider的内容
app.service.info : 获取services的信息
app.service.send : 使用 Message攻击暴露的service,其service实现了handleMessage
app.service.start : 开启服务
app.service.stop : 停止服务


b、run 模块名 -h ----查看某个模块的参数
c、run app.package.list ----- 列出手机上安装了的应用
run app.package.list -f 筛选字 ----搜索特定的包名
d、run app.package.info -a 包名 -----获取包名的详细信息
在这里插入图片描述

测试步骤:
1、确定攻击面
安全渗透测试在我的浅薄的理解中,就是看能不能对暴露组件进行攻击,导致敏感数据泄漏到安装在同一设备上的其他应用程序上。一般来说,应用程私有组件只能被当前应用启动,不能被其他应用启动相对是安全的。当一个应用程序的组件暴露,就可以被第三方的应用任意调用,可能导致敏感信息泄露、拒绝服务、权限提升绕过,界面劫持、远程代码执行等安全漏洞。
run app.package.attacksurface packageName
在这里插入图片描述
还是存在很多的潜在风险的。接下来就是对这些暴露的组件进行攻击。

补充:组件暴露漏洞检测规则
每一个组件在Manifest.xml定义,都有一个android:exported属性,满足以下两种情况都认为是有组件暴露漏洞的:1、显式设置exported属性为true;2、没有显式设定exported值,但组件下面有intent filter,这样组件exported默认值也为true。

2、对暴露的组件进行攻击
1)、Activities
应用程序中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应。暴露的activity意味着可以被导出。

查看暴露的activities:
run app.activites.info -a packageName
在这里插入图片描述
启动暴露的activity:
run app.activity.start --component packageName activityName

2)、Service
service是一个没有用户界面的程序,可以用来开发后台服务或者监控类的程序和执行比较耗时的后台任务。例如,当音乐播放器退出用户界面之后,还需要继续播放,通常会使用Context.startService()来启动一个后台服务,来保持音乐的持续播放。

查看暴露的service:
run app.service.info -a packageName
在这里插入图片描述

提升权限:
run app.service.start
(平时没有用到这一块,有兴趣的可以自己研究下~~~~~)
在这里插入图片描述
3)、Content Providers
每个应用程序都会有些数据存储,Content Provider使一个应用程序的指定数据集提供给其他应用程序,例如通讯录、信息和通话记录等。

查看暴露的provider:
run app.provider.info -a packageName
在这里插入图片描述

浏览可以访问的Uri:
run scanner.provider.finduris -a packageName
在这里插入图片描述

获取Uri的数据:
run app.provider.query 可以访问的Uri
在这里插入图片描述
如果查询到数据,就说明存在漏洞。就可以对数据进行SQL注入,获取表中的数据等。
(这些可以访问的uri是facebook对外暴漏的,也是无法获取到其数据的,根据自己应用的uri,可以排查,后面就只是介绍下常用的操作哒~)

SQL注入:(指利用现有应用程序,将恶意的SQL命令注入到后台数据库执行一些恶意的操作)
在这里插入图片描述
可以根据这些参数的使用尝试着对可访问的Uri进行操作。当你SQL注入的时候,如果报错就证明存在SQL注入。

检测sql注入和目录遍历:
run scanner.provider.injection -a packageName
run scanner.provider.traversal -a packageName
在这里插入图片描述
在这里插入图片描述

4)、Broadcast Receivers
应用可以使用它对外部事件进行过滤只对感兴趣的外部事件(如当电话呼入时,或者数据网络可用时)进行接收并做出响应。广播接收器没有用户界面。然而,它们可以启动一个activity或serice 来响应它们收到的信息,或者用NotificationManager 来通知用户。通知可以用很多种方式来吸引用户的注意力──闪动背灯、震动、播放声音等。一般来说是在状态栏上放一个持久的图标,用户可以打开它并获取消息。

利用intent对组件的触发一般有两类漏洞,一类是拒绝服务(broadcast),一类的权限提升(service)。拒绝服务危害性比较低,更多的只是影响应用服务质量;而权限提升将使得没有该权限的应用可以通过intent触发拥有该权限的应用,从而帮助其完成越权行为。

查看暴漏的broadcast:
run app.broadcast.info -a packageName
在这里插入图片描述

尝试拒绝服务攻击检测,向广播组件发送不完整intent:
1)、空action
run app.broadcast.send --component com.hatsune.eagleee ReceiverName

2)、空extras
run app.broadcast.send --action android.intent.action.xxx

总的来说,使用drozer做安卓安全渗透测试需要对drozer命令和android组件比较熟悉。

三、兼容测试
兼容性测试主要是对app在各类机型上的兼容、适配等情况进行测试,而且用户体验是评价一个产品好坏的重要指标,所有做出来的软件,盈利的软件,最终是交付给用户。所以兼容性测试也是一个很重要的测试项。兼容性测试常见的便是:
1、移动端设备的版本号测试
2、手机屏幕的分辨率测试
3、 新老版本兼容测试
(一个app, 一次次迭代,就会有多个版本在市场上被使用,新版本的开发不应该影响到旧版本,尤其是出现一次版本改动比较大,或者重构应用的时候,回归多个老版本是必不可少的测试点,当然并不是要测试到每个点,修改的部分需着重测试,可以和开发沟通了解,了解可能影响的点,有针对性的测试)

测试点:
1、主要流程能正常运行
2、界面没有错位、重叠,展示不全等不美观问题
3、旧版本可能影响的模块主要功能可以正常运行

测试方法:
1、准备多台测试机 (-----top排行的手机基本足够)
(因为公司是做手机,不缺测试机,一般我准备至少5台不同安卓版本,不同分辨率的手机,对新功能版本号,分辨率进行测试)
版本号:功能正常运行。
分辨率:页面美观,无错位,重叠,展示不全等问题。

(以下是我项目组的测试报告中的兼容性测试~~~~)
在这里插入图片描述

2、云测试
针对个人开发者、初创公司,以及App比较单一的公司,没有足够多的测试机,是可以使用兼容性云测服务的。目前很多的公司,已经提供了兼容性云测服务,例如TestIn、TestBird,除此,大型公司也对外推出自己的测试工具,比如谷歌、腾讯WeTest、百度MTC、阿里MQC等等。

eg: 以下是TestIn兼容性测试执行界面
在这里插入图片描述

testIn测试报告,很详细:
在这里插入图片描述

用还是很好用的,就是得收费。其他的也差不多,可以去体验下。

3、自主研发兼容性自动化测试平台
无论是国际知名App,还是国内知名App,谷歌、Facebook,BAT等,他们都有大量的App对外推出,对于App兼容性要求非常高。这些公司的兼容性测试,都有一个相同的解决方案,那就是自动化测试框架与平台的实现,但是这个成本是比较高的。不仅要有自己测试的实验室,还要拥有大量的手机,还有一整套的自动化测试平台。
当然我不会,但是也是一个努力的方向啊,本公司是制作手机的,正好拥有这些条件,今年10月份测试部自主研发一套兼容性自动化测试平台,满满的膜拜啊,正在内部试用中。

四、版本升级
在项目中版本升级是一个很重要的测试项,每次版本的迭代都需要测升级,去验证升级之后主要功能是否正常。一般情况下,正常用户升级自己的软件,无异于三种途径:1、根据app弹出的升级提示框选择升级; 2、自己到应用商店或者其他渠道下载升级。3、强制升级。然而其本质都是:覆盖安装。将最新的app下载到手机的sdcard上,然后安装覆盖掉旧版本的apk。

测试点:
1、正常升级
2、跨版本升级
3、强制升级

在传音,先后进入了两个项目团队,对于升级测试,也有些不同。
第一个项目团队是一个管理应用,并没有上到市场上,升级测试也比较简单,主要操作就是:
1)、在数据库中修改版本号,客户端弹出升级提示,点击升级或者不升级。(用多个版本进行测试,是否都能升到最新版本,且功能正常)。
2)、如果是强制升级,将强制升级的字段修改成强制升级。那么所有的版本在打开应用的时候都会自动升级。(同样用多个版本测试,是否都能升到最新版本,且功能正常)。

第二个项目团队是一个新闻应用,有上到市场上,可以在GooglePlay下载。
测试方法:
1)、安卓设备上先安装一个最近的旧版本
adb install apk路径
在这里插入图片描述
2)、将新版本push到手机的sdcard上
adb push 新版本apk路径 /mnt/sdcard
在这里插入图片描述
3)、在File Manager 文件管理中选择刚push的apk,点击安装
4)、查看新版apk是否已经覆盖安装了旧版本,且功能正常
5)、然后卸载最新的apk, 设备上装上前几个版本,重复上面,进行跨版本升级测试。
6)、测试通过之后,上到GP或者应用商店等渠道后,验证一遍,功能正常就算完成啦~

五、流量测试
(上一节android性能测试:https://blog.csdn.net/xiaomaoxiao336368/article/details/83547318
留下流量测试一节没有讲,这里补充下)

应用的耗流也是用户的一个重要关注点,一是节省用户的使用成本,二是流量优化能带来响应速度的优化,三是能清楚的知道每个场景需消耗的流量,确认是否有能优化的空间。

测试点:
1、首次启动到全部加载完成耗流(冷启动)
2、非首次启动到全部加载完成耗流(热启动)
3、后台运行耗流
4、运行某个场景消耗的总流量

测试方法:
1、使用测试工具 Emmagee或者GT(上一节有介绍~)
1)、安装应用待测apk,安装Emmagee
2)、首次启动–打开Emmagee,选择被测应用,待页面全部加载完成(Net Traffic数值趋于稳定)
在这里插入图片描述

测试流量的时候除了项目定的一些标准,还会和市场上竞品进行对比。对于产品来说,尤其是同类产品,数据是最重要的。以下是我项目组的测试报告里流量测试的输出:
在这里插入图片描述

2、使用安卓系统自带的TCP流量计数进行人工计算
1)、查找app对应的Uid
方法1:adb shell dumpsys package packageName |grep userId=
方法2:adb shell ps |grep packageName --------先获取pid,第二列
adb shell cat /proc/{pid}/status |grep Uid
在这里插入图片描述

2)、计算下行(下载)和上行(上传)流量情况
步骤:
1、获取当前下行(下载)流量
adb shell cat /proc/uid_stat/{Uid}/tcp_rcv
启动app至彻底启动,运行上面命令
在这里插入图片描述
2、获取当前上行(上传)流量
adb shell cat /proc/uid_stat/{Uid}/tcp_sd
启动app至彻底启动,运行上面命令

在这里插入图片描述

注意:
1)、启动APP后的流量应多尝试几次,当不操作APP且流量值不变化时为准。
2)、此方法虽测出对应场景的上下行流量,但是无法进行具体的剖析,要定位查 找问题需要使用第三种方法

3、使用tcpdump+wireshark抓包分析(流量异常情况)
上面的两种方法,都是直接对总的流量进行统计,如果发现某刻操作流量值异常增大,就需要我们定位到具体的请求来查找问题。 对于异常流量的分析,使用tcpdump+wireshark.
tcpdump(需获取root权限)是Linux系统下的一款抓包命令集,是基于网卡抓取流动在网卡上的数据包。tcpdump拦截和显示发送或收到过网络连接到该机器的TCP/IP和其他数据包,简单说就是监控手机的进出网络数据。因为android本身也是一个Linux系统,所以也有对应的tcpdump。
wireshark是一个网络封包分析软件,撷取网络封包,并尽可能显示出最为详细的网络封包资料。wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。

注意:如果我们需要测试某一个App消耗的流量就需要禁用其他APP的连网权限。

测试方法:
1、手机需获取root权限,可以根据自己手机的机型版本号在度娘上找对应的刷机版本号(user debug版本),或者找可以刷机的工具一键root。
2、下载tcpdump,push到手机上
下载地址:http://www.strazzere.com/android/tcpdump
adb push tcpdump路径 手机路径
在这里插入图片描述
3、切换到root用户,执行抓包命令
在这里插入图片描述

参数:
 “-p”:不使用混杂模式
 “-n”:不把网络地址转换成名字
 “-s 0”:-s参数用以指定数据包捕获长度,此处指定为0,表示抓取完整的数据包
 “-vv”:输出详细的报文信息

4、打开wireshark对数据包进行分析
下载地址:https://www.wireshark.org/download.html
(后面这一块自己也是一知半解,以后get到了,再补上~~~~~~~)

六、实际项目中的测试项
一个版本的迭代到上线,最终要输出的一个测试通过的报告,才会正式上线。测试报告中应包含了项目团队这一次版本的所有内容。根据我团队的项目(新闻类app),测试报告大体包括:

1、Release Note (罗列此版本迭代和修改优化的功能点)
2、测试用例 (功能点)
3、稳定性测试(跑monkey,对日志、内存进行分析)
4、内存泄漏 (连续500次的登陆退出) ----(monkeyrunner)写的脚本~~
5、性能测试(内存+CPU)
5、兼容性测试 (版本号、分辨率)
6、安全测试 (安全网站扫描)
7、流量测试 (测试工具统计:emmagee)
8、功耗测试 (测试工具统计:emmagee)
(现在都是快速迭代,只有大版本的时候才测得这么细,但是兼容,稳定、内存每个版本都要测)

MonkeyTestUI测试稳定性:
除了我在上面专项测试中提到的测试方法,在实际测试中,我是用的是我们团队自己研发的一个MonkeyTestUI工具,相比通过adb命令的无图形界面以及生成的日志只能自己写脚本循环遍历,然后查找出Expection来对日志进行分析,定位问题。MonkeyTestUI就没有那么繁琐,首先,MonkeyTestUI它是图形界面,无需写adb命令;可以同时对多台手机进行Monkey测试;其次,生成的日志可直接扫描,自动生成execl报表,并统计出异常的个数以及是哪个层次的异常,除此之外,还能自动生成内存变化曲线图(是可以定位一些可能存在的内存问题的)。

MonkeyTestUI界面
在这里插入图片描述

注意:被测应用monkey测试的时候,要选择白名单

内存曲线:
在这里插入图片描述

跑monkey,还有一个重要的点就是:对日志分析,查找报错的日志,然后定位问题。
传统的测试方法,就像我上面提到的稳定性测试一样,需自己搜索整理出异常日志。MonkeyTestUi不需要这么麻烦,只需要把某个设备生成的日志直接在异常扫描工具(aee.exp_logv2.4_windows.exe)中扫描即可。如果有报错的日志,会自动生成result.xls.

具体操作如下:
1)跑Monkey生成的内存和日志地址
在这里插入图片描述

2)扫描日志
在这里插入图片描述

结果解析:
(生成的扫描结果只会记录异常的日志)
a、如果没有异常日志,resule.xls则是空白
b、Statistics.txt,统计报错的个数

注意事项:
扫描之前,先要将Monkey日志的 .dbg文件默认打开方式为aee_extract.exe。

3)扫描内存
在这里插入图片描述

生成的报告:(峰值过高或者一直增长是需要关注的,很有可能存在风险)
在这里插入图片描述

安卓移动端专项测试就讲到这了,希望可以帮到你们~~
如果需要我提供工具的,可以私信我~ ~ I am Kitten

附件:项目团队的测试标准,每个公司的标准不一致,这里仅作参考~
1、内存溢出
在这里插入图片描述
2、功耗测试
在这里插入图片描述
3、性能测试
在这里插入图片描述

在这里插入图片描述
4、其他测试点

在这里插入图片描述

转载文章时务必注明原作者及原始链接,并不得对作品进行修改。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

app常见专项测试点 的相关文章

  • 软件测试|Python Selenium 库安装使用指南

    简介 Selenium 是一个用于自动化浏览器操作的强大工具 它可以模拟用户在浏览器中的行为 例如点击 填写表单 导航等 在本指南中 我们将详细介绍如何安装和使用 Python 的 Selenium 库 安装 Selenium 库 使用以下
  • 【Mysql】InnoDB 引擎中的页目录

    一 页目录和槽 现在知道记录在页中按照主键大小顺序串成了单链表 那么我使用主键查询的时候 最顺其自然的办法肯定是从第一条记录 也就是 Infrimum 记录开始 一直向后找 只要存在总会找到 这种在数据量少的时候还好说 一旦数据多了 遍历耗
  • 小白也能学会的创建Git仓库实操

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 2k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • #私密朋友圈被吐槽有bug?官方致歉!网友:尴尬了......

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 2k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • Jenkins 插件下载速度慢、安装失败了!我教你怎么解决!

    Jenkins部署完毕 如果不安装插件的话 那它就是一个光杆司令 啥事也做不了 所以首先要登陆管理员账号然后点击系统管理再点击右边的插件管理安装CI CD必要插件 但是问题来了 jenkins下载插件速度非常慢 而且经常提示下载插件失败 真
  • 外包干了3个月,技术退步明显。。。。。

    先说一下自己的情况 本科生 19年通过校招进入广州某软件公司 干了接近4年的功能测试 今年年初 感觉自己不能够在这样下去了 长时间呆在一个舒适的环境会让一个人堕落 而我已经在一个企业干了四年的功能测试 已经让我变得不思进取 谈了2年的女朋友
  • Jmeter 性能-并发量计算

    并发概念 指网站在同一时间访问的人数 人数越大瞬间带宽要求更高 服务器并发量分为 业务并发用户数 最大并发访问数 系统用户数 同时在线用户数 估算业务并发量的公式 C nL T C C 3 C的平方根 说明 C是平均的业务并发用户数 n是l
  • 微信小程序的自动化测试框架

    微信发布了小程序的自动化测试框架Minium 提供了多种运行验证方式 其特点 支持一套脚本 iOS Android 模拟器 三端运行 提供丰富的页面跳转方式 看不到也能去得到 可以获取和设置小程序页面数据 让测试不止点点点 可以直接触发小程
  • 测试用例评审流程优化

    测试用例 评审是QA日常工作流程中的关键一环 是QA同学完善测试用例 交流测试经验的好机会 负责组内测试用例建设以来 作者对于评审流程做了一些优化工作 本文作者将整个优化过程中的心得体会做了一个总结 希望能给大家带来帮助 01 原始流程 1
  • 软件测试|Python中如何提取列表中索引为奇数的元素

    简介 在Python中 我们经常需要从列表中提取特定位置的元素 如果我们想要提取列表中索引为奇数的元素 可以使用一些简单的方法来实现这一目标 本文将介绍如何在Python中提取列表中索引为奇数的元素 并提供示例代码来帮助大家更好地理解这个过
  • 软件测试|使用Python读写yaml文件,你会了吗?

    简介 YAML YAML Ain t Markup Language 是一种可读的数据序列化格式 它常用于配置文件和数据交换 Python 提供了许多库来处理 YAML 文件 在本文中 我们将探讨如何使用 PyYAML 库来读取和写入 YA
  • 软件测试|pycharm关联GitHub的详细步骤

    简介 GitHub 是全球最大的开源代码托管平台之一 而 PyCharm 是一款强大的 Python 集成开发环境 将两者结合使用 可以提高团队协作和代码管理的效率 本文将详细介绍如何在 PyCharm 中管理 GitHub 账号 包括如何
  • Python自动化测试 | 如何使用Robot Framework进行自动化测试?

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 跨平台UI自动化框架:Airtest,游戏开发和应用测试的利器

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 新手也能看懂的【前端自动化测试入门】

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 软件测试中的白盒测试,这些技巧你知道吗?

    对于很多刚开始学习软件测试的小伙伴来说 如果能尽早将黑盒 白盒测试弄明白 掌握两种测试的结论和基本原理 将对自己后期的学习有较好的帮助 今天 我们就来聊聊黑盒 白盒测试的相关话题 1 黑盒测试的方法和小结 最常见黑盒测试方法包括 边界值 等
  • 月薪2W的软件测试工程师,到底是做什么的?

    在生活中 我们常常会遇到以下几种窘迫时刻 准备骑共享单车出行 却发现扫码开锁半天 车子都没有反应 手机导航打车 却发现地图定位偏差很大 司机总是跑错地方 买个水 却遭遇自动售货机吐币 或者不找零钱 好不容易休息打个游戏 却一直出现卡顿 闪退
  • 外包干了2个月,技术倒退2年。。。

    先说一下自己的情况 本科生 20年通过校招进入深圳某软件公司 干了接近4年的 功能测试 今年国庆 感觉自己不能够在这样下去了 长时间呆在一个舒适的环境会让一个人堕落 而我已经在一个企业干了四年的功能测试 已经让我变得不思进取 谈了3年的女朋
  • 15:00面试,15:06就出来了,问的问题有点变态。。。

    从小厂出来 没想到在另一家公司又寄了 到这家公司开始上班 加班是每天必不可少的 看在钱给的比较多的份上 就不太计较了 没想到9月一纸通知 所有人不准加班 加班费不仅没有了 薪资还要降40 这下搞的饭都吃不起了 还在有个朋友内推我去了一家互联
  • 软件测试面试:还没有自动化测试项目经验,3个项目帮你走入软测职场!

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自

随机推荐

  • 智能指针类模板:auto_ptr、unique_ptr、shared_ptr的原理与使用

    1 什么是智能指针 智能指针是行为类似于指针的类对象 通常用于管理动态内存分配 C 程序通常手动动态分配堆内存 但如果动态分配的内存没有释放 则会发生内存泄漏 例如代码段1 1 代码段1 1 void demo double pd new
  • C++STL之unordered_set简单使用

    目录 简介 常用函数 代码 运行截图 参考 简介 unordered set 容器 可直译为 无序 set 容器 即 unordered set 容器和 set 容器很像 唯一的区别就在于 set 容器会自行对存储的数据进行排序 而 uno
  • Qt day04

    一 Input Widgets 1 QComboBox 1 添加备选内容 在设计师中双击控件输入添加 在代码中输入 ui gt comboBox gt addItem 金嘉宇 2 常用信号 void currentIndexChanged
  • 【LeetCode——删除重复元素】

    删除数组中的重复元素 leetcode 删除数组中的重复元素 双指针 leetcode 删除数组中的重复元素 输入 nums 0 0 1 1 1 2 2 3 3 4 输出 5 nums 0 1 2 3 4 解释 函数应该返回新的长度 5 并
  • php中的pdo对象,php中PDO操作大对象方法(blob)

    参考php中的官方文档 1 insert blob into databse oracle db new PDO oci scott tiger stmt db gt prepare insert into images id conten
  • (React入门) Context上下文

    React应用中 数据通过props属性自上而下 由父组件向子组件 传递 当组件层级数量增多时 在每一层传递props则很繁琐 Context提供了一种新的组件之间共享数据的方式 允许数据隔代传递 而不必显式的通过组件树逐层传递props
  • 详情页点击标题,滚动到对应主题笔记

    详情页点击标题 滚动到对应主题 防抖 提高性能 不做频繁操作 详情页点击标题 滚动到对应主题 netxTick 图片的高度没有被计算在内 这里是等图片加载完成后获得相对 ref 名 el offsetTop的值 如果不等图片加载完 获取的值
  • g++安装

    我的虚拟机装的是ubuntu14 0 4 今天使用g 的时候 发现竟然没有安装g 百度以后才知道 g 是Linux下C 代码的编译器 gcc是C代码的编译器 找了很多文章 都说安装g 直接sudo apt get g 或者g X X X X
  • 利用MATLAB设计低通滤波器和CIC滤波器

    FDATool界面左下侧排列了一组工具按钮 其功能分别如下所述 创建多速率滤波器 Create a Multirate Filter 滤波器转换 TransForm Filter 设置量化参数 Set Quantization Parame
  • API 接口防刷(接口请求次数限制)

    目录 一 问题 1 解决 2 原理 二 实现 1 导入坐标 2 自定义注解 3 Redis 缓存工具类 4 自定义拦截器 5 WebConfig 配置类 6 异常处理器 1 异常标记码 1 通用对象返回类 7 Redis序列化配置 8 测试
  • 【Flink】yarn集群模式

    预备知识 Linux export 命令的生命周期 断开会话后 export 的环境变量不生效 支持会话级别的新增 删除和修改环境变量 用作之后的程序使用 仅仅用作此次会话期间 基于 YARN 模式部署 Flink 服务 3 1 基于 YA
  • 【SPI协议】

    一 SPI介绍 SPI是 全双工 通信 具有单独的发送和接收线 可以同时进行发送和接收 从机不主动发起访问 总是被动执行操作 SPI包含4根逻辑线 MISO 主机输入 从机输出 MOSI 主机输出 从机输入 SCLK 串行时钟信号 此信号由
  • 论文阅读:AAAI2022 Evaluating Explainable AI on a Multi-Modal Medical Imaging Task: Can Existing Algor...

    任务 explainable AI XAI 可解释性探索 主要提出两个指标 可以代替医生对事后可解释性算法进行评估 目的 多模态医学影像中存在的clinically important but technically ignored the
  • ModuleNotFoundError: No module named ‘xxx‘问题

    更换国内安装源和设置超时时间可以解决 pip install xxx default timeout 100 i https pypi tuna tsinghua edu cn simple 即可 安装源参考 超时时间参考
  • 【004】一天一道C/C++编程题

    第四题 请编写一个函数void fun char tt int pp 统计在tt字符串中 a 到 z 26个字母各自出现的次数 并依次放在pp所指数组中 例如 当输入字符串abcdefgabcdeabc后 程序的输出结果应该是 3 3 3
  • 面试题(2)

    1 J2EE是什么 2 介绍JAVA中的Collection FrameWork 包括如何写自己的数据结构 如COLLECTION中遗留类 HASHTABLE VECTOR 和现有类的区别 同步 3 Java中异常处理机制 事件机制 4 E
  • 实验7-3-8 统计字符出现次数(20 分)

    实验7 3 8 统计字符出现次数 20 分 本题要求编写程序 统计并输出某给定字符在给定字符串中出现的次数 输入格式 输入第一行给出一个以回车结束的字符串 少于80个字符 第二行输入一个字符 输出格式 在一行中输出给定字符在给定字符串中出现
  • 三位水仙花数的两种做法

    编写程序计算如下数列的值 1 2 3 4 966 其中 所有数字为整数 从1开始递增 奇数为正 偶数为负 s 0 for i in range 967
  • mybatis plus 写sql语句

    一 api public Map
  • app常见专项测试点

    常见的apk专项测试 主要有几类 主要指项目中经常用到的 1 稳定性 2 安全性 3 兼容性 4 版本升级 5 流量测试 6 实际测试总结 对整个项目团队是如何进行测试以及测试的内容 一 稳定性测试 稳定性测试是指对应用进行长时间的操作 检