APP测试基本流程以及APP测试要点梳理,保证您看了不后悔!

 🔥 交流讨论:欢迎加入我们一起学习!

🔥 资源分享耗时200+小时精选的「软件测试」资料包

🔥 教程推荐:火遍全网的《软件测试》教程  

📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!

前言:相信很多刚刚步入测试行业的小伙伴对于APP测试不是很熟悉,这次我为大家提供一篇宝藏文章,希望大家喜欢,谢谢!

一、APP测试基本流程

1、流程图

在这里插入图片描述

2、测试周期
测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即15个工作日),根据项目情况以及版本质量可适当缩短或延长测试时间。

3、测试资源
测试任务开始前,检查各项测试资源。

  • –产品功能需求文档;
  • –产品原型图;
  • –产品效果图;
  • –测试设备;
  • –其他。

4、日报及产品上线报告(内部报告机制)

  • –测试人员每天需对所测项目发送测试日报。(也就是我这边有邮件通知测试项目的时候一般均属于输出测试日报)

在这里插入图片描述

  • –测试日报所包含的内容为:需求ID、总bug数,今日提交bug数、已解决bug数、未解决bug数、对应开发、对应测试等等
  • –不同版本测试报告输出

二、App测试点

 

1、安全测试
1.1软件权限

  • –扣费风险:包括发送短信、拨打电话、连接网络等
  • –隐私泄露风险:包括访问手机信息、访问联系人信息等
  • –对App的输入有效性校验、认证、授权、敏感数据存储、数据加密等方面进行检测
  • –限制/允许使用手机功能接人互联网
  • –限制/允许使用手机发送接受信息功能
  • –限制/允许应用程序来注册自动启动应用程序
  • –限制或使用本地连接
  • –限制/允许使用手机拍照或录音
  • –限制/允许使用手机读取用户数据
  • –限制/允许使用手机写人用户数据
  • –检测App的用户授权级别、数据泄漏、非法授权访问等

1.2安装与卸载安全性

  • –应用程序应能正确安装到设备驱动程序上
  • –能够在安装设备驱动程序上找到应用程序的相应图标
  • –是否包含数字签名信息
  • –没有用户的允许, 应用程序不能预先设定自动启动
  • –卸载是否安全, 其安装进去的文件是否全部卸载
  • –卸载用户使用过程中产生的文件是否有提示
  • –其修改的配置信息是否复原
  • –卸载是否影响其他软件的功能
  • –卸载应该移除所有的文件

1.3数据安全性

  • –当将密码或其他的敏感数据输人到应用程序时, 其不会被储存在设备中, 同时密码也不会被解码
  • –输人的密码将不以明文形式进行显示
  • –密码, 信用卡明细, 或其他的敏感数据将不被储存在它们预输人的位置上
  • –不同的应用程序的个人身份证或密码长度必需至少在4一8 个数字长度之间
  • –当应用程序处理信用卡明细, 或其他的敏感数据时, 不以明文形式将数据写到其它单独的文件或者临时文件中。以6)防止应用程序异常终止而又没有侧除它的临时文件, 文件可能遭受人侵者的袭击, 然后读取这些数据信息。
  • –当将敏感数据输人到应用程序时, 其不会被储存在设备中
  • –备份应该加密, 恢复数据应考虑恢复过程的异常�通讯中断等, 数据恢复后再使用前应该经过校验
  • –应用程序应考虑系统或者虚拟机器产生的用户提示信息或安全替告
  • –应用程序不能忽略系统或者虚拟机器产生的用户提示信息或安全警告, 更不能在安全警告显示前,,利用显示误导信息欺骗用户,应用程序不应该模拟进行安全警告误导用户
  • –在数据删除之前,应用程序应当通知用户或者应用程序提供一个“取消”命令的操作
  • –“ 取消” 命令操作能够按照设计要求实现其功能-应-用程序应当能够处理当不允许应用软件连接到个人信息管理的情况
  • –当进行读或写用户信息操作时, 应用程序将会向用户发送一个操作错误的提示信息
  • –在没有用户明确许可的前提下不损坏侧除个人信息管理应用程序中的任何内容Μ
  • –应用程序读和写数据正确。
  • –应用程序应当有异常保护。
  • –如果数据库中重要的数据正要被重写, 应及时告知用户
  • –能合理地处理出现的错误
  • –意外情况下应提示用户

1.4通讯安全性

  • –在运行其软件过程中, 如果有来电、SMS、EMS、MMS、蓝牙、红外等通讯或充电时, 是否能暂停程序,优先处理通信, 并在处理完毕后能正常恢复软件, 继续其原来的功能
  • –当创立连接时, 应用程序能够处理因为网络连接中断, 进而告诉用户连接中断的情况
  • –应能处理通讯延时或中断
  • –应用程序将保持工作到通讯超时, 进而发送给用户一个错误信息指示有连接错误
  • –应能处理网络异常和及时将异常情况通报用户
  • –应用程序关闭或网络连接不再使用时应及时关闭) 断开
  • –HTTP、HTTPS覆盖测试
  • –App和后台服务一般都是通过HTTP来交互的,验证HTTP环境下是否正常;
  • –公共免费网络环境中(如:麦当劳、星巴克等)都要输入用户名和密码,通过SSL认证来访问网络,需要对使用HTTP Client的library异常作捕获处理。

1.5人机接口安全性

  • –返回菜单总保持可用
  • –命令有优先权顺序
  • –声音的设置不影响应用程序的功能
  • –应用程序必需利用目标设备适用的全屏尺寸来显示上述内容
  • –应用程序必需能够处理不可预知的用户操作, 例如错误的操作和同时按下多个键

2、安装、卸载测试
验证App是否能正确安装、运行、卸载以及操作过程和操作前后对系统资源的使用情况

2.1安装

  • –软件在不同操作系统下安装是否正常。
  • –软件安装后的是否能够正常运行,安装后的文件夹及文件是否写到了指定的目录里。
  • –软件安装各个选项的组合是否符合概要设计说明
  • –软件安装向导的UI测试
  • –软件安装过程是否可以取消,点击取消后,写入的文件是否如概要设计说明处理
  • –软件安装过程中意外情况的处理是否符合需求(如死机,重启,断电)
  • –安装空间不足时是否有相应提示
  • –安装后没有生成多余的目录结构和文件
  • –对于需要通过网络验证之类的安装,在断网情况下尝试一下
  • –还需要对安装手册进行测试,依照安装手册是否能顺利安装

2.2卸载

  • –直接删除安装文件夹卸载是否有提示信息。
  • –测试系统直接卸载程序是否有提示信息。
  • –测试卸载后文件是否全部删除所有的安装文件夹。
  • –卸载过程中出现的意外情况的测试(如死机、断电、重启)。
  • –卸载是否支持取消功能,单击取消后软件卸载的情况 。
  • –系统直接卸载UI测试,是否有卸载状态进度条提示 。

2.3 UI测试
测试用户界面(如菜单、对话框、窗口和其它可规控件)布局、风格是否满足客户要求、文字是否正确、页面是否美观、文字、图片组合是否完美、操作是否友好等。

UI测试的目标是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏觅功能。确保用户界面符合公司或行业的标准。包括用户友好性、人性化、易操作性测试。

2.3.1导航测试

  • –按钮、对话框、列表和窗口等;或在不同的连接页面之间需要导航
  • –是否易于导航,导航是否直观
  • –是否需要搜索引擎
  • –导航帮助是否准确直观
  • –导航与页面结构、菜单、连接页面的风格是否一致

2.3.2图形测试

  • –横向比较。各控件操作方式统一
  • –自适应界面设计,内容根据窗口大小自适应
  • –页面标签风格是否统一
  • –页面是否美观
  • –页面的图片应有其实际意义而要求整体有序美观
  • –图片质量要高且图片尺寸在设计符合要求的情况下应尽量小
  • –界面整体使用的颜色不宜过多

2.3.3内容测试

  • –输入框说明文字的内容与系统功能是否一致
  • –文字长度是否加以限制
  • –文字内容是否表意不明
  • –是否有错别字
  • –信息是否为中文显示
  • –是否有敏感性词汇、关键词
  • –是否有敏感性图片,如:涉及版权、专利、隐私等图片

2.4功能测试
根据软件说明或用户需求验证App的各个功能实现,采用如下方法实现并评估功能测试过程:

  • –采用时间、地点、对象、行为和背景五元素或业务分析等方法分析、提炼App的用户使用场景,对比说明或需求,整理出内在、外在及非功能直接相关的需求,构建测试点,并明确测试标准,若用户需求中无明确标准遵循,则需要参考行业或相关国际标准或准则。
  • –根据被测功能点的特性列丼出相应类型的测试用例对其进行覆盖,如;涉及输入的地方需要考虑等价、边界、负面、异常或非法、场景回滚、关联测试等测试类型对其进行覆盖。
  • –在测试实现的各个阶段跟踪测试实现与需求输入的覆盖情况,及时修正业务或需求理解错误。

2.4.1运行
(1)App安装完成后的试运行,可正常打开软件。

(2)App打开测试,是否有加载状态进度提示。

(3)App打开速度测试,速度是否可观。

(4)App页面间的切换是否流畅,逻辑是否正确

(5)注册

  • –同表单编辑页面
  • –用户名密码长度
  • –注册后的提示页面
  • –前台注册页面和后台的管理页面数据是否一致
  • –注册后,在后台管理中页面提示

(6)登录

  • –使用合法的用户登录系统。
  • –系统是否允许多次非法的登陆,是否有次数限制。
  • –使用已经登陆的账号登陆系统是否正确处理。
  • –使用禁用的账号登陆系统是否正确处理。
  • –用户名、口令(密码)错误或漏填时能否登陆。
  • –删除或修改后的用户,原用户登陆。
  • –不输入用户口令和用户、重复点(确定或取消按钮)是否允许登陆。
  • –登陆后,页面中登陆信息。
  • –页面中有注销按钮。
  • –登陆超时的处理。

(7)注销

  • –注销原模块,新的模块系统能否正确处理。
  • –终止注销能否返回原模块,原用户。
  • –注销原用户,新用户系统能否正确处理。
  • –使用错误的账号、口令、无权限的被禁用的账号进行注销

2.4.2应用的前后台切换

  • –APP切换到后台,再回到app,检查是否停留在上一次操作界面。
  • –APP切换到后台,再回到app,检查功能及应用状态是否正常,IOS4和IOS5的版本的处理机制有的不一样。
  • – app切换到后台,再回到前台时,注意程序是否崩溃,功能状态是否正常,尤其是对于从后台切换回前台数据有自动更新的时候。
  • –手机锁屏解屏后进入app注意是否会崩溃,功能状态是否正常,尤其是对于从后台切换回前台数据有自动更新的时候。
  • –当App使用过程中有电话进来中断后再切换到app,功能状态是否正常
  • –当杀掉app进程后,再开启app,app能否正常启动。
  • –出现必须处理的提示框后,切换到后台,再切换回来,检查提示框是否还存在,有时候会出现应用自动跳过提示框的缺陷。
  • –对于有数据交换的页面,每个页面都必需要进行前后台切换、锁屏的测试,这种页面最容易出现崩溃。

2.4.3免登录
很多应用提供免登录功能,当应用开启时自动以上一次登录的用户身份来使用app.

  • – app有免登录功能时,需要考虑IOS版本差异。
  • –考虑无网络情况时能否正常进入免登录状态。
  • –切换用户登录后,要校验用户登录信息及数据内容是否相应更新,确保原用户退出。
  • –根据MTOP的现有规则,一个帐户只允许登录一台机器。所以,需要检查一个帐户登录多台手机的情况。原手机里的用户需要被踢出,给出友好提示。
  • –app切换到后台,再切回前台的校验
  • – 切换到后台,再切换回前台的测试
  • –密码更换后,检查有数据交换时是否进行了有效身份的校验
  • –支持自动登录的应用在进行数据交换时,检查系统是否能自动登录成功并且数据操作无误。
  • – 检查用户主动退出登录后,下次启动app,应停留在登录界面

2.4.4数据更新
根据应用的业务规则,以及数据更新量的情况,来确定最优的数据更新方案。

  • –需要确定哪些地方需要提供手动刷新,哪些地方需要自动刷新,哪些地方需要手动+自动刷新。
  • –确定哪些地方从后台切换回前台时需要进行数据更新。
  • –根据业务、速度及流量的合理分配,确定哪些内容需要实时更新,哪些需要定时更新。
  • –确定数据展示部分的处理逻辑,是每次从服务端请求,还是有缓存到本地,这样才能有针对性的进行相应测试。
  • –检查有数据交换的地方,均有相应的异常处理。

2.4.5离线浏览
很多应用会支持离线浏览,即在本地客户端会缓存一部分数据供用户查看。

  • –在无网络情况可以浏览本地数据
  • –退出app再开启app时能正常浏览
  • –切换到后台再切回前台可以正常浏览
  • –锁屏后再解屏回到应用前台可以正常浏览
  • –在对服务端的数据有更新时会给予离线的相应提示

2.4.6 App更新

  • –当客户端有新版本时,有更新提示。
  • –当版本为非强制升级版时,用户可以取消更新,老版本能正常使用。用户在下次启动app时,仍能出现更新提示。
  • –当版本为强制升级版时,当给出强制更新后用户没有做更新时,退出客户端。下次启动app时,仍出现强制升级提示。
  • –当客户端有新版本时,在本地不删除客户端的情况下,直接更新检查是否能正常更新。
  • –当客户端有新版本时,在本地不删除客户端的情况下,检查更新后的客户端功能是否是新版本。
  • –当客户端有新版本时,在本地不删除客户端的情况下,检查资源同名文件如图片是否能正常更新成最新版本。

2.4.7定位、照相机服务

  • – App有用到相机,定位服务时,需要注意系统版本差异
  • –有用到定位服务、照相机服务的地方,需要进行前后台的切换测试,检查应用是否正常。
  • –当定位服务没有开启时,使用定位服务,会友好性弹出是否允许设置定位提示。当确定允许开启定位时,能自动跳转到定位设置中开启定位服务。
  • –测试定位、照相机服务时,需要采用真机进行测试。

2.4.8时间测试
客户端可以自行设置手机的时区、时间,因此需要校验该设置对app的影响。

  • –中国为东8区,所以当手机设置的时间非东8区时,查看需要显示时间的地方,时间是否展示正确,应用功能是否正常。时间一般需要根据服务器时间再转换成客户端对应的时区来展示,这样的用户体验比较好。比如发表一篇微博在服务端记录的是10:00,此时,华盛顿时间为22:00,客户端去浏览时,如果设置的是华盛顿时间,则显示的发表时间即为22:00,当时间设回东8区时间时,再查看则显示为10:00。

2.4.9 PUSH测试

  • – 检查push消息是否按照指定的业务规则发送
  • –检查不接受推送消息时,检查用户不会再接收到push.
  • –如果用户设置了免打扰的时间段,检查在免打扰时间段内,用户接收不到PUSH。
  • 在非免打扰时间段,用户能正常收到push。
  • –当push消息是针对登录用户的时候,需要检查收到的push与用户身份是否相符,没有错误地将其它人的消息推送过来。一般情况下,只对手机上最后一个登录用户进行消息推送。
  • –测试push时,需要采用真机进行测试。

2.5性能测试
评估App的时间和空间特性 :

(1)极限测试:在各种边界压力情况下,如电池、存储、网速等,验证App是否能正确响应。

  • –内存满时安装App
  • –运行App时手机断电
  • –运行App时断掉网络

(2)响应能力测试:测试App中的各类操作是否满足用户响应时间要求 。(安装包放到云测上可以测试)

  • –App安装、卸载的响应时间
  • –App各类功能性操作的影响时间

(3)压力测试:反复/长期操作下、系统资源是否占用异常。(itestin)

  • –App反复进行安装卸载,查看系统资源是否正常
  • –其他功能反复进行操作,查看系统资源是否正常

(4)性能评估:评估典型用户应用场景下,系统资源的使用情况。(Jmeter)

2.6交叉事件测试
针对智能终端应用的服务等级划分方式及实时特性所提出的测试方法。交叉测试又叫事件或冲突测试,是指一个功能正在执行过程中,同时另外一个事件或操作对该过程进行干扰的测试。如;App在前/后台运行状态时与来电、文件下载、音乐收听等关键运用的交互情况测试等。交叉事件测试非常重要,能发现很多应用中潜在的性能问题。

  • –多个App同时运行是否影响正常功能
  • –App运行时前/后台切换是否影响正常功能
  • –App运行时拨打/接听电话
  • –App运行时发送/接收信息
  • –App运行时发送/收取邮件
  • –App运行时切换网络(2G、3G、wifi)
  • –App运行时浏览网络
  • –App运行时使用蓝牙传送/接收数据
  • –App运行时使用相机、计算器等手机自带设备

2.7兼容测试
主要测试内部和外部兼容性

(1)与本地及主流App是否兼容

(2)基于开发环境和生产环境的不同,检验在各种网络连接下(WiFi、GSM、GPRS、EDGE、WCDMA、CDMA1x、CDMA2000、HSPDA等),App的数据和运用是否正确

(3)与各种设备是否兼容,若有跨系统支持则需要检验是否在各系统下,各种行为是否一致

  • –不同操作系统的兼容性,是否适配
  • –不同手机屏幕分辨率的兼容性
  • –不同手机品牌的兼容性

2.8回归测试

  • –Bug修复后且在新版本发布后需要进行回归测试。
  • –Bug修复后的回归测试在交付前、要进行全量用例的回归测试。

2.9升级、更新测试
新版版发布后,配合不同网络环境的自劢更新提示及下载、安装、更新、启劢、运行的验证测试。

  • –测试升级后的功能是否与需求说明一样
  • –测试与升级模块相关的模块的功能是否与需求一致
  • –升级安装意外情况的测试(如死机、断电、重启)
  • –升级界面的UI测试
  • –不同操作系统间的升级测试

2.10用户体验测试
以主观的普通消费者的角度去感知产品或服务的舒适、有用、易用、友好亲切程度。 通过不同个体、独立空间和非经验的统计复用方式去有效评价产品的体验特性提出修改意见提升产品的潜在客户满意度。

  • –是否有空数据界面设计,引导用户去执行操作。
  • –是否滥用用户引导。
  • –是否有不可点击的效果,如:你的按钮此时处于不可用状态,那么一定要灰掉,或者拿掉按钮,否则会给用户误导
  • –菜单层次是否太深
  • –交互流程分支是否太多
  • –相关的选项是否离得很远
  • –一次是否载入太多的数据
  • –界面中按钮可点击范围是否适中
  • –标签页是否跟内容没有从属关系,当切换标签的时候,内容跟着切换
  • –操作应该有主次从属关系
  • –是否定义Back的逻辑。涉及软硬件交互时,Back键应具体定义
  • –是否有横屏模式的设计,应用一般需要支持横屏模式,即自适应设计

2.11 硬件环境测试
2.11.1手势操作测试

  • –手机开锁屏对运行中的App的影响
  • –切换网络对运行中的App的影响
  • –运行中的App前后台切换的影响
  • –多个运行中的App的切换
  • –App运行时关机
  • –App运行时重启系统
  • –App运行时充电
  • –App运行时kill掉进程再打开

2.11.2网络环境
手机的网络目前主要分为2G、3G、wifi。目前2G的网络相对于比较慢,测试时尤其要注意此块的测试。

  • –无网络时,执行需要网络的操作,给予友好提示,确保程序不出现crash。
  • –内网测试时,要注意选择到外网操作时的异常情况处理。
  • –在网络信号不好时,检查功能状态是否正常,确保不因提交数据失败而造成crash。
  • –在网络信号不好时,检查数据是否会一直处于提交中的状态,有无超时限制。如遇数据交换失败时要给予提示。
  • –在网络信号不好时,执行操作后,在回调没有完成的情况下,退出本页面或者执行其他操作的情况,有无异常情况。此问题也会经常出现程序crash。

2.11.3服务器宕机或出现404、502等情况下的测试
后台服务牵涉到DNS、空间服务商的情况下会影响其稳定性,如:当出现域名解析故障时,你对后台API的请求很可能就会出现404错误,抛出异常。这时需要对异常进行正确的处理,否则可能会导致程序不能正常工作。

2.12接口测试 (这一块又可以深入的讲解)
服务端一般会提供JSON格式的数据给客户端,所以我们在服务端需要进行接口测试,确保服务端提供的接口并转换的JSON内容正确,对分支、异常流有相应的返回值。此块测试可以采用itest框架进行测试。最方便的是采用httpclient进行接口测试。

进行服务端测试时,需要开发提供一份接口文档。

2.13客户端数据库测试(mysql)

  • –一般的增、删、改、查测试。
  • –当表不存在时是否能自动创建,当数据库表被删除后能否再自建,数据是否还能自动从服务端中获取回来并保存。
  • –在业务需要从服务端取回数据保存到客户端的时候,客户端能否将数据保存到本地。
  • – 当业务需要从客户端取数据时,检查客户端数据存在时,app数据是否能自动从客户端数据中取出,还是仍然会从服务器端获取?检查客户端数据不存在时,app数据能否自动从服务器端获取到并保存到客户端
  • –当业务对数据进行了修改、删除后,客户端和服务端是否会有相应的更新。
     

最后我邀请你进入我们的【软件测试学习交流群:785128166】, 大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路

作为一个软件测试的过来人,我想尽自己最大的努力,帮助每一个伙伴都能顺利找到工作。所以我整理了下面这份资源,现在免费分享给大家,有需要的小伙伴可以关注【公众号:程序员二黑】自提!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/242116.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot Redis入门(四)——Redis单机、哨兵、集群模式

单机模式:单台缓存服务器,开发、测试环境下使用;哨兵模式:主-从模式,提高缓存服务器的高可用和安全性。所有缓存的数据在每个节点上都一致。每个节点添加监听器,不断监听节点可用状态,一旦主节点…

鸿蒙原生应用/元服务开发-延迟任务说明(一)

一、功能介绍 应用退至后台后,需要执行实时性要求不高的任务,例如有网络时不定期主动获取邮件等,可以使用延迟任务。当应用满足设定条件(包括网络类型、充电类型、存储状态、电池状态、定时状态等)时,将任务…

Qt 5.15.2 (MSVC 2019)编译 QWT 6.2.0 : 编译MingW或MSVC遇到的坑

MingW下编译QWt 6.2.0 下载qwt最新版本,用git工具 git clone下载源码 git clone https://git.code.sf.net/p/qwt/git qwt-git 或者使用我下载的 qwt 2.6.0 链接:https://pan.baidu.com/s/1KZI-L10N90TJobeqqPYBqw?pwdpq1o 提取码:pq1o 下载…

匿名/箭头函数,立即执行函数IIFE;函数声明式和函数表达式

目录 匿名/箭头函数:简洁 继承上一层作用域链的this 不绑定arguments,用rest参数 rest 参数:...真正的数组 因为没有function声明,所以没有原型prototype,所以不能作为构造函数 当函数体只有一句时,可省 return ,…

【Linux第二课-权限】操作系统、Linux用户、Linux权限、Linux文件类型、粘滞位

目录 操作系统shell外壳为什么有shell外壳shell外壳是什么shell外壳工作原理 Linux用户root用户与非root用户root用户与普通用户的切换普通用户 --> root用户root用户 --> 普通用户普通用户 --> 普通用户对一条指令提升为root权限进行执行 Linux权限Linux中的权限角色…

Elasticsearch Windows部署-ELK技术栈

1、下载Elasticsearch、kibana、logstash 本文不介绍ELK相关原理知识,只记录部署操作过程 下载地址Past Releases of Elastic Stack Software | Elastic 选择同一版本,这里选择是当前最新版本8.11.3 解压放在同目录下,方便后续操作与使用 …

OpenCV-Python(51):基于Haar特征分类器的面部检测

目标 学习了解Haar 特征分类器为基础的面部检测技术将面部检测扩展到眼部检测等。 基础 以Haar 特征分类器为基础的对象检测技术是一种非常有效的对象检测技术(2001 年Paul_Viola 和Michael_Jones 提出)。它是基于机器学习的,通过使用大量的正负样本图像训练得到一个cascade_…

【大数据Hive】hive 行列转换使用详解

目录 一、前言 二、使用场景介绍 2.1 使用场景1 2.2 使用场景2 三、多行转多列 3.1 case when 函数 语法一 语法二 操作演示 3.2 多行转多列操作演示 四、多行转单列 4.1 concat函数 语法 4.2 concat_ws函数 语法 4.3 collect_list函数 语法 4.4 collect_set函…

【51单片机Keil+Proteus8.9】控制步进电机+LCD1602显示状态

步进电机控制 设计思路 电路设计: 选用AT89C51单片机作为电路核心部件,外加LM016L液晶显示屏作为显示,显示步进电机的Fast,Slow,Stop的三个状态将AT89C51单片机所选引脚与LM016L控制引脚相连,再将数据通…

龙芯+RT-Thread+LVGL实战笔记(30)——电子琴演奏

【写在前面】正值期末,笔者工作繁忙,因此本系列教程的更新频率有所放缓,还望订阅本专栏的朋友理解,请勿催更。笔者在此也简要声明几点: 有些硬件模块笔者并没有,如LED点阵、压力传感模块、RFID模块等,因此这些模块的相关任务暂时无法给出经过验证的代码。其实,教程进行…

微电网优化MATLAB:遗传算法(Genetic Algorithm,GA)求解微电网优化(提供MATLAB代码)

一、微网系统运行优化模型 微电网优化是指通过对微电网系统中各个组件的运行状态进行监测和调节,以实现微电网系统的高效运行和能源利用的最大化。微电网是由多种能源资源(如太阳能、风能、储能等)和负载(如建筑、工业设备等&…

什么是技术架构?架构和框架之间的区别是什么?怎样去做好架构设计?(二)

什么是技术架构?架构和框架之间的区别是什么?怎样去做好架构设计?(二)。 技术架构是对某一技术问题(需求)解决方案的结构化描述,由构成解决方案的组件结构及之间的交互关系构成。广义上的技术架构是一系列涵盖多类技术问题设计方案的统称,例如部署方案、存储方案、缓存…

接口测试遇到500报错?别慌,你的头部可能有点问题

🔥 交流讨论:欢迎加入我们一起学习! 🔥 资源分享:耗时200小时精选的「软件测试」资料包 🔥 教程推荐:火遍全网的《软件测试》教程 📢欢迎点赞 👍 收藏 ⭐留言 &#x1…

C#,入门教程(38)——大型工程软件中类(class)修饰词partial的使用方法

上一篇: C#,入门教程(37)——优秀程序员的修炼之道https://blog.csdn.net/beijinghorn/article/details/125011644 一、大型(工程应用)软件倚重 partial 先说说大型(工程应用)软件对源代码的文件及函数“…

NFS网络共享存储服务技术攻略

目录 一.NFS 1.定义 2.特点 3.原理 二.服务端NFS配置文件 1.主配置文件 2.文件格式 3.相关命令 三.实验:NFS共享存储服务配置 1.服务端安装nfs-utils和rpcbind软件包 2.服务端新建共享目录给权限 3.服务端修改配置文件/etc/exports 4.服务端关闭防火墙…

HTTP 协议和 TCP/IP 协议之间有什么区别?

HTTP(超文本传输协议)和TCP/IP(传输控制协议/互联网协议)是两种在互联网通信中广泛使用的协议,它们之间的区别和联系对许多人来说可能还不是很清晰,今天我们就带大家来一起了解一下HTTP和TCP/IP协议这2者之…

【C++】vector容器接口要点的补充

接口缩容 在VS编译器的模式下&#xff0c;类似于erase和insert接口的函数通常会进行缩容&#xff0c;因此&#xff0c;insert和erase行参中的迭代器可能会失效。下图中以erase为例&#xff1a; 代码如下&#xff1a; #include <iostream> #include <vector> #inclu…

虚拟机安装宝塔的坑

问题&#xff1a; 在虚拟机中centos7和centos8中安装宝塔之后&#xff0c;无法访问面板。 解决&#xff1a; 1.先关闭防火墙&#xff08;如果本机能够ping通相关端口&#xff0c;则不用关闭防火墙&#xff09; 2.最新的宝塔会自动开启ssl协议&#xff0c;需要手动关闭。…

UE5 蓝图编辑美化学习

虚幻引擎中干净整洁蓝图的15个提示_哔哩哔哩_bilibili 1.双击线段成节点。 好用&#xff0c;爱用 2.用序列节点 好用&#xff0c;爱用 3.用枚举。 好用&#xff0c;能避免一些的拼写错误 4.对齐节点 两点一水平线 5.节点上下贴节点 &#xff08;以前不懂&#xff0c;现在经常…

Node.js基础知识点(四)

本节介绍一下最简单的http服务 一.http 可以使用Node 非常轻松的构建一个web服务器&#xff0c;在 Node 中专门提供了一个核心模块&#xff1a;http http 这个模块的就可以帮你创建编写服务器。 1. 加载 http 核心模块 var http require(http) 2. 使用 http.createServe…