我们自己在项目测试过程中也应当积累一套自己的测试框架,所有功能性的测试都可以依据框架的思路来进行,达到事半功倍的效果,以下通用性测试用例可供后续项目参考使用:
功能测试框架可以包括:界面友好性测试、功能测试、链接测试、容错测试、稳定性测试、常规性能测试、配置测试、算法测试等等。
1.1.1 界面友好性测试
风格、样式、颜色是否协调
界面布局是否整齐、协调(保证全部显示出来的,尽量不要使用滚动条)
界面操作、标题描述是否恰当(描述有歧义、注意是否有错别字)
操作是否符合人们的常规习惯(有没有把相似的功能的控件放在一起,方便操作)
提示界面是否符合规范(不应该显示英文的cancel、ok,应该显示中文的确定等)
界面中各个控件是否对齐
日期控件是否可编辑
日期控件的长度是否合理,以修改时可以把时间全部显示出来为准
查询结果列表列宽是否合理、标签描述是否合理
查询结果列表太宽没有横向滚动提示
对于信息比较长的文本,文本框有没有提供自动竖直滚动条
数据录入控件是否方便
有没有支持Tab键,键的顺序要有条理,不乱跳
有没有提供相关的热键
控件的提示语描述是否正确
模块调用是否统一,相同的模块是否调用同一个界面
用滚动条移动页面时,页面的控件是否显示正常
日期的正确格式应该是XXXX-XX-XX或XXXX-XX-XXXX:XX:XX
页面是否有多余按钮或标签
窗口标题或图标是否与菜单栏的统一
窗口的最大化、最小化是否能正确切换
对于正常的功能,用户可以不必阅读用户手册就能使用
执行风险操作时,有确认、删除等提示吗
操作顺序是否合理
正确性检查:检查页面上的form, button, table, header, footer,提示信息,还有其他文字拼写,句子的语法等是否正确。
系统应该在用户执行错误的操作之前提出警告,提示信息.
页面分辨率检查,在各种分辨率浏览系统检查系统界面友好性。
合理性检查:做delete, update, add, cancel, back等操作后,查看信息回到的页面是否合理。
检查本地化是否通过:英文版不应该有中文信息,英文翻译准确,专业。
背景灰度冻结
1.1.2 功能测试
使用所有默认值进行测试
根据所有产品文档、帮助文档中描述的内容要进行遍历测试
输入判断
所有界面出现是和否的逻辑,要测试
异常处理
敏感词
根据需求文档的流程图遍历所有流程图路径
根据程序内容,遍历if elif else switch的逻辑点要遍历
界面各种控件测试
如对于输入框测试:
一、字符型输入框:
字符型输入框:英文全角、英文半角、数字、空或者空格、特殊字符“~!@#¥%……&*?[]{}”特别要注意单引号和&符号。禁止直接输入特殊字符时,使用“粘贴、拷贝”功能尝试输入。
长度检查:最小长度、最大长度、最小长度-1、最大长度+1、输入超工字符比如把整个文章拷贝过去。
空格检查:输入的字符间有空格、字符前有空格、字符后有空格、字符前后有空格
多行文本框输入:允许回车换行、保存后再显示能够保存输入的格式、仅输入回车换行,检查能否正确保存(若能,检查保存结果,若不能,查看是否有正常提示)、
安全性检查:输入特殊字符串
(null,NULL,,javascript,,,,,
)、输入脚本函数()、doucment.write("abc")、hello )
二、数值型输入框:
边界值:最大值、最小值、最大值+1、最小值-1
位数:最小位数、最大位数、最小位数-1最大位数+1、输入超长值、输入整数
3.异常值、特殊字符:输入空白(NULL)、空格或"~!@#$%^&*()_+{}|[]\:"<>?;',./?;:'-=等可能导致系统错误的字符、禁止直接输入特殊字符时,尝试使用粘贴拷贝查看是否能正常提交、word中的特殊功能,通过剪贴板拷贝到输入框,分页符,分节符类似公式的上下标等、数值的特殊符号如∑,㏒,㏑,∏,+,-等、
输入负整数、负小数、分数、输入字母或汉字、小数(小数前0点舍去的情况,多个小数点的情况)、首位为0的数字如01、02、科学计数法是否支持1.0E2、全角数字与半角数字、数字与字母混合、16进制,8进制数值、货币型输入(允许小数点后面几位)、
安全性检查:不能直接输入就copy
三、日期型输入框:
合法性检查:(输入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]
考虑开始日期与结束日历的比较,特别是在查询的时候.
异常值、特殊字符:输入空白或NULL、输入~!@#¥%……&*(){}[]等可能导致系统错误的字符
安全性检查:不能直接输入,就copy,是否数据检验出错?
1.1.3 业务流程测试(主要功能测试)
业务流程,一般会涉及到多个模块的数据,所以在对业务流程测试时,首先要保证单个模块功能的正确性,其次就要对各个模块间传递的数据进行测试,这往往是容易出现问题的地方,测试时一定要设计不同的数据进行测试。
如某一功能模块具有最基本的增删改查功能,则需要进行以下测试:
单项功能测试(增加、修改、查询、删除)
增加——>增加——>增加 (连续增加测试)
增加——>删除
增加——>删除——>增加 (新增加的内容与删除内容一致)
增加——>修改——>删除
修改——>修改——>修改 (连续修改测试)
修改——>增加(新增加的内容与修改前内容一致)
修改——>删除
修改——>删除——>增加 (新增加的内容与删除内容一致)
删除——>删除——>删除 (连续删除测试)
1.1.4 链接测试
主要是保证链接的可用性和正确性,它也是网站测试中比较重要的一个方面。
可以使用特定的工具如XENU来进行链接测试。
1.1.5 容错测试
输入系统不允许的数据作为输入
把某个相关模块或者子系统停掉,验证对当前系统的影响
配置文件删除或者配置错误
数据库注入错误数据
1.1.6 稳定性测试
系统不间断运行(7*24),验证是否内存泄露、系统其他资源是否存在泄露
如果很紧急上线,可以跑一晚上或者周末跑两天。
一般压力很大的情况下,数据库连接数问题、内存泄露问题会曝露的比较快但是死锁可能不能体现,所以要看系统重要性,如12306稳定性则最好7*24小时
1.1.7 常规性能测试
连接速度测试
用户连接到Web应用系统的速度根据上网方式的变化而变化,他们或许是电话拨号,或是宽带上网。当下载一个程序时,用户可以等较长的时间,但如果仅仅访问一个页面就不会这样。如果Web系统响应时间太长(例如超过5秒钟),用户就会因没有耐心等待而离开。
另外,有些页面有超时的限制,如果响应速度太慢,用户可能还没来得及浏览内容,就需要重新登陆了。而且,连接速度太慢,还可能引起数据丢失,使用户得不到真实的页面。
负载测试
负载测试是为了测量Web系统在某一负载级别上的性能,以保证Web系统在需求范围内能正常工作。负载级别可以是某个时刻同时访问Web系统的用户数量,也可以是在线数据处理的数量。例如:Web应用系统能允许多少个用户同时在线?如果超过了这个数量,会出现什么现象?Web应用系统能否处理大量用户对同一个页面的请求?
压力测试
负载测试应该安排在Web系统发布以后,在实际的网络环境中进行测试。因为一个企业内部员工,特别是项目组人员总是有限的,而一个Web系统能同时处理的请求数量将远远超出这个限度,所以,只有放在Internet上,接受负载测试,其结果才是正确可信的。
进行压力测试是指实际破坏一个Web应用系统,测试系统的反映。压力测试是测试系统的限制和故障恢复能力,也就是测试Web应用系统会不会崩溃,在什么情况下会崩溃。***常常提供错误的数据负载,直到Web应用系统崩溃,接着当系统重新启动时获得存取权。
压力测试的区域包括表单、登陆和其他信息传输页面等
1.1.8 易用性测试
系统界面的控件是否可以通过tab键遍历,并且顺序合理
主要功能的入口和操作是否易于理解
界面是否布局合理,功能是否易于查找和使用
操作步骤
操作习惯
有足够的提示信息,且信息文字描述准确
1.1.9 兼容性测试
兼容性测试不只是指界面在不同操作系统或浏览器下的兼容,有些功能方面的测试,也要考虑到兼容性,
包括操作系统兼容和应用软件兼容,可能还包括硬件兼容
比如涉及到ajax、jquery、javascript等技术的,都要考虑到不同浏览器下的兼容性问题。
除了上面所说的这些测试以外,还有算法测试、配置测试、安全性测试等等,后续再不断总结和完善补充~
你可能感兴趣的:(功能测试框架,bug预防,功能测试)
【AIGC未来的发展方向】面向人工智能的第一步,一文告诉你人工智能是什么以及未来的方向分析
洛神灬殇
人工智能的概念当人们提到“人工智能(AI)”时,很多人会想到机器人和未来世界的科幻场景,但AI的应用远远不止于此。现在,AI已经广泛应用于各种行业和生活领域,为我们带来了无限可能。AI是一个广泛的概念,它包括很多不同的技术,例如机器学习、深度学习、自然语言处理等等。这些技术都具有不同的功能和应用。机器学习是一种基于数据的人工智能技术,它可以让计算机根据大量的数据进行自我学习和优化。通过机器学习,计
【STM32 FreeRTOS】软件定时器
heater404
STM32 stm32 单片机 FreeRTOS
软件定时器简介硬件定时器:STM32芯片自带的定时器模块,硬件定时器的精度一般很高,每次在定时时间达到之后就会自动触发一个中断,用户在中断服务函数中处理信息。软件定时器:是指具有定时功能的软件,可设置定时周期,当指定时间到达后要会调用回调函数,用户在回调函数中处理信息。软件定时器相对硬件定时器来说,精度没有那么高(因为他以时基为基准,系统时钟中断优先级又是最低,容易被打断)。对于高精度要求,不建议
Navicat
Botiway
FlaskWeb python 后端 web3 flask linux
Navicat是一款功能强大的数据库管理工具,它支持多种数据库系统,包括MySQL、MariaDB、MongoDB、SQLServer、SQLite、Oracle、PostgreSQL等,以及云数据库如阿里云、腾讯云、华为云等。Navicat提供了直观的用户界面(GUI)和丰富的功能,旨在简化数据库的开发、管理和维护工作。以下是Navicat的一些主要特点和功能:多数据库支持:Navicat允许用
vivo X23到手实测!为什么叫它电竞手机?
笔点酷玩
如今手机已经成为了每个人生活的必需品,具备的各种功能也是让人眼花缭乱,每个人对于手机都有着自己不同的需求,一般在购买时都会着重考虑手机的综合表现。我作为一个资深手机游戏控,在买手机前都会多番比较,最终选择入手了一部vivoX23。平时我最喜欢就是和朋友一起在《绝地求生》里组团带妹吃鸡,正好可以借此来检验一下vivoX23"电竞掌机"是否名副其实。之前用旧手机(就不提具体名字了)来玩《绝地求生》时,
Scrapy ---心得
auo8191
爬虫 python 数据库
scrapy框架基础-框架:具有很多功能,且具有很强通用性的项目模板-环境安装:#环境准备linux系统pip3installscrapywindows系统1pip3installwheel2下载Twisted-19.2.0-cp36-cp36m-win-amd64.whl3进入下载目录,执行pip3installTwisted‑19.2.0‑cp36‑cp36m‑win_amd64.whl4pi
javacv从入门到精通——第三章:基本使用
ayou_llf
javacv java opencv 语音识别 音视频 视频编解码
了解javacv的基本结构JavaCV的基本结构如下:JavaCV核心类:JavaCV核心类是JavaCV库的核心,它包括了JavaCV的所有功能和特性,可以用来进行计算机视觉和人工智能任务的开发和实现。JavaCV核心类的主要功能包括:视频捕获、视频编解码、图像处理、人脸检测、特征提取等。基本数据类型:JavaCV库支持多种基本数据类型,包括整数、浮点数、布尔类型等,这些基本数据类型是进行计算机
开发一个查询功能 -- activiti工作流养成计划(六)
唐田震
目标:开发一个查询流程列表的功能,体验一下activiti因为上一篇中已经部署了一个流程,所以咱们可以站在使用者的视角,开发一个流程展示页面。再贴一下模块的包结构,与上一篇有点变动,因为activiti作为一个模块,是对外提供api的,主要是供admin模块调用,所以把之前的controller包改成api语义上更为合适。如图image.png一、创建查询流程定义apipackagecom.ruo
网工面试题总结-38道
曾经我也很执着
笔记 网络 udp tcp/ip
目录1.简述OSI【开放式系统互联参考模型】七层模型主要功能2.描述TCP和UDP协议的主要区别3.介绍TCP的三次握手机制?为什么TCP的三次握手需要三次?4.什么是DHCP?描述工作过程?5.什么是ARP?谈谈ARP协议的主要功能。6.什么是广播域?什么是冲突域?7.什么是NAT?有哪些NAT?8.简述IP数据包结构?并且对这些内容进行解析?9.RIP协议的防环机制有哪些?10.RIP协议的计
python 基础语法之函数
I'm happy
python 开发语言
python基础语法之函数函数函数的参数函数的返回值函数的嵌套函数变量作用域函数参数位置参数详解:关键字参数:缺省参数不定长参数匿名函数总结函数概述:函数也叫方法,可以用单词Function(函数,功能),Method(方法)来表示.定义格式:def函数名(形式参数1,...)函数体,以前书写的逻辑代码,如if,for...return具体返回值格式解释:defdefined单词的缩写,表示:定义
使用JavaScript读取手机联系人列表:从理论到实践
孔乙己大叔
Web学习 javascript 智能手机 开发语言 rebootvip 孔乙己大叔
更多内容前往个人网站:孔乙己大叔在现代Web开发中,随着技术的不断进步,以前看似不可能的任务现在变得可行。例如,使用JavaScript读取手机联系人列表这一功能,在几年前几乎是不可想象的,但现在随着WebAPI的发展,特别是联系人选择器API(ContactsPickerAPI)的引入,这一功能已经可以在一些现代浏览器中实现。本文将深入探讨这一技术,从理论基础到实际代码实现,以及隐私和安全方面的
单片机原理图与PCB设计心得体会
嵌入式大圣
单片机 嵌入式硬件
在电子技术的学习和实践中,单片机原理图与PCB设计是至关重要的环节。通过参与相关项目的设计和制作,我深刻体会到了这两个环节的复杂性和挑战性,同时也收获了许多宝贵的经验和知识。本文将详细介绍我在单片机原理图与PCB设计过程中的心得体会,包括原理设计、PCB布局布线、电磁兼容等方面的内容。目录一、引言二、原理图设计三、PCB设计四、电磁兼容设计五、心得体会一、引言单片机作为一种集成度高、功能强大的微控
pyecharts可视化数据大屏
丁爸
大数据 大数据
1.简介1.1.概述PyECharts是一个用于生成ECharts图表的Python库。ECharts是一款由阿里巴巴开发的开源JavaScript图表库,广泛应用于网页端的数据可视化。而PyECharts将ECharts的功能带到了Python环境中,使得Python开发者可以方便地在数据分析、机器学习等领域的项目中使用ECharts图表进行数据可视化。1.2.主要功能PyECharts主要功能
前端框架有哪些
丁爸
web前端 前端框架
1.简介1.1.概述前端框架是指用于帮助开发者更高效地构建、维护和测试Web应用的工具集。这些框架通常提供了一系列的组件、库和工具,使得开发人员可以快速地搭建起一个具有统一设计和功能的应用界面。2.前端框架2.1.React.js由Facebook维护的一个开源JS库,用于构建用户界面。React利用声明式编程和组件化思想,使得开发人员可以更加容易地管理UI状态和数据流。2.1.1.优缺点优点:虚
定位分析BUG(一)
nayli
在工作中,想要提高测试能力,就需要掌握问题的定位的能力。常常你向开发反馈一个问题,他会保持怀疑态度,有时候更是表面答应背地里暗骂SB,当你如果确定这个问题导向,开发向你翻白眼,你也能直接将问题明明白白丢给他,直接照脸打,打的他鼻青脸肿。在暗地骂,也是骂自己写的BUG~想想都爽歪歪~O(∩_∩)O哈哈~举例一些比较常见的BUG,后期也会逐渐完善,希望这些工作经验,能帮助自己巩固学习,也能指引你做的更
python+html开发桌面应用程序(一)pywebview介绍
丁爸
python3 web前端 python js
本文介绍用python+html开发桌面应用程序,主要是用pywebview来加载、显示html页面。一.pywebview简介pywebview是围绕webview组件的轻型跨平台包装器,它允许在其自己的本机GUI窗口中显示HTML内容。您可能会想到Python的Electron,但是pywebview打包的执行文件小很多。它为您提供了桌面应用程序中的Web技术功能,隐藏了GUI基于浏览器的事实
Spring的IoC是什么?
super_crazy123
Spring15问 java spring
IOC就是控制反转,是指程序将创建对象的控制权转交给Spring框架进行管理,由Spring通过java的反射机制根据配置文件在运行时动态的创建实例,并管理各个实例之间的依赖关系。对象与对象之间松散耦合,有利于功能的扩展和复用。DI就是依赖注入,和控制反转是同一个概念的不同角度的描述,它是指程序在运行时由IoC容器来动态注入对象需要的外部依赖。Spring的IOC有两种注入方式:xml注入、注解注
python中的format函数
Nancy Shea
format()是python2.6新增的一个格式化字符串的方法,功能非常强大,有可能在未来完全替代%格式化方法,相比%,format()的优点有:1.格式化时不用关心数据类型的问题,format()会自动转换,而在%方法中,%s用来格式化字符串类型,%d用来格式化整型;2.单个参数可以多次输出,参数顺序可以不同3.填充方式灵活,对齐方式强大通过位置来填充字符串‘{0},{1},{2}’.form
(附论文)基于Springboot和Vue的图书大厦图书管理系统(591)
源码出售和定制
vue.js 前端 spring boot 后端 spring java
获取源码请滑到最底部访问官网项目配套调试视频和相对应的软件安装包1、项目描述图书大厦图书管理系统按照权限的类型进行划分,分为管理员和用户共两个模块。系统实现首页,个人中心,用户管理,图书分类管理,图书信息管理,图书借阅管理,图书续借管理,图书归还管理,反馈类型管理,需求反馈管理,归还入库管理,系统管理等功能进行操作,增强了使用者的操作体验。具体请看视频演示2、项目开发工具开发工具:Idea或Ecl
react antd点击table行时加选中背景色
每一天,每一步
ant design - react react.js javascript 前端
在React中使用AntDesign的Table组件时,可以通过rowSelection属性来实现点击行时加亮背景色的功能。importReactfrom'react';import{Table}from'antd';constdata=[{key:'1',name:'JohnBrown',age:32,address:'NewYorkNo.1LakePark',},//...更多数据];clas
每日精选
布兰妮田田
美好的一天,从读报开始,12月15日,农历冬月十二,星期三,工作愉快,幸福生活1、小鹏汽车6个月采集43万张人脸照片,被罚10万;2、百度申请度娘商标获批;3、微信支付防骗客服提醒功能上线;4、iOS15.2正式版发布:苹果数字遗产功能正式上线;5、顺丰同城在港上市:首日破发开跌超7%;6、黑人牙膏官宣将启用公司创始中文名“好来”,替换现有品牌名称;7、湖南省2022年全面推行新建商品房交房即交证
C# WPF入门学习主线篇(十六)—— Grid布局容器
Ice bear433
C# WPF c# wpf 学习
C#WPF入门学习主线篇(十六)——Grid布局容器欢迎来到C#WPF入门学习系列的第十六篇。在前几篇文章中,我们已经探讨了Canvas、StackPanel、WrapPanel和DockPanel布局容器及其使用方法。本篇博客将介绍另一种功能强大且灵活的布局容器——Grid。通过本文,您将学习如何使用Grid来创建复杂且灵活的用户界面布局,并了解Grid的常见属性和应用场景。什么是Grid布局容
关于智能编码助手【通义灵码】,开发者们这么说...
阿里云云原生
阿里云 云原生 通义灵码
自通义灵码发布以来,不停地有开发者朋友为我们送上通义灵码的测评反馈。关于通义灵码,开发者这样说墨问西东CEO池建强&墨问研发团队“通义灵码有一个强大的功能就是企业知识库检索增强,我们只需要上传团队的代码规范,通过#teamdocs,就可以按照代码规范文档来优化代码,工程师也能在日常编码中获得相应的补全建议,让代码更贴近团队标准。”戳看墨问西东研发团队测评通义灵码:《阿里的通义灵码好用吗?》同济子豪
Gartner首次发布AI代码助手魔力象限,阿里云进入挑战者象限,通义灵码产品能力全面领先
阿里云云原生
人工智能 阿里云 云计算
8月29日消息,国际市场研究机构Gartner发布业界首个AI代码助手魔力象限,全球共12家企业入围,阿里云成为唯一进入挑战者象限的中国科技公司。通义灵码在产品功能和市场应用等方面表现优秀,获得权威机构认可。该报告从技术创新性、产品服务能力、商业模式等15个维度,全方位评估企业AI代码助手的能力,是迄今为止最权威的AI代码助手报告。在关键能力评分中,通义灵码在代码生成、代码解释、代码调试等多项能力
Python爬虫技术深度解析与实战案例
我的运维人生
python 爬虫 开发语言
一、引言随着互联网的快速发展,网络数据已成为人们获取信息、进行研究的重要资源。Python作为一种功能强大且易于学习的编程语言,在爬虫领域有着广泛的应用。本文将详细介绍Python爬虫技术的基本原理、核心组件,并通过一个实战案例展示Python爬虫的实际应用。二、Python爬虫技术概述Python爬虫是指利用Python编写程序,自动从互联网上抓取信息的工具。其基本原理是通过模拟浏览器发送HTT
4.科学计算模块Numpy(1)概述与初始操作
隐零
从零基础到AI算法工程师 numpy python 人工智能
引言我们想通过Python去学习人工智能,不可避免地要对大量的数据进行操作。在大批量的数据处理下,如果只是人为手动地修改数据信息,未免效率太低。今天我们就来介绍数据科学领域当中至关重要的一个库:Numpy通过阅读本篇博客,你可以:1.了解什么是Numpy2.掌握如何使用Numpy创建数组一、Numpy的定义与概述Numpy(NumericalPython)是科学计算基础库,提供大量科学计算相关功能
文件的上传和下载(超详细)
进击的阿尔法猿
JavaWeb学习笔记 java javaweb
文件的上传和下载,是非常常见的功能。很多的系统中,或者软件中都经常使用文件的上传和下载。比如:QQ头像,就使用了上传。邮箱中也有附件的上传和下载功能。OA系统中审批有附件材料的上传。1.文件的上传介绍(重点)要有一个form标签,method=post请求form标签的encType属性值必须为multipart/form-data值在form标签中使用inputtype=file添加上传的文件编
一篇文章教会你用Python爬取淘宝评论数据【淘宝商品评论数据接口】
电商数据girl
电商项目API接口测试 淘宝商品评论API接口 python java git 大数据 人工智能 前端 开发语言
【一、项目简介】本文主要目标是采集淘宝的评价,找出客户所需要的功能。评论最新数据,按最近日期,评论内容,评论图片……统计客户评价上面夸哪个功能多,比如防水,容量大,好看等等。淘宝/天猫获得淘宝商品评论API返回值说明item_review-获得淘宝商品评论taobao.item_review公共参数名称类型必须描述keyString是调用key(必须以GET方式拼接在URL中)secretStri
敢舍才能得——麻吉星高效课堂教学大赛赛后反思
张畅_a44f
本周我校举行2022年弘金地学校“金牌课堂”——麻吉星高效课堂教学大赛,通过个人的教学设计,课程磨课,以及观课,评课,我收获满满。一、我的课堂(一)学情诊断分析在进行教学设计之初,我利用麻吉星视频录像功能针对七年级学生的音准,音阶构唱,三拍子指挥图示等掌握情况进行课前调查。初中学生普遍有“开口难”问题,演唱课在初中音乐教学中有一定难度。因为学生正处于变声期,他们觉得自己声音不好听,不愿意参与演唱,
苹果 iOS / iPadOS 18 beta8和iOS / iPadOS 18.1 beta3版本更新
pf_data
ios cocoa macos
苹果今日向iPhone和iPad用户推送了iOS/iPadOS18开发者预览版Beta8更新(内部版本号:22A5350a)和iOS/iPadOS18.1开发者预览版Beta3更新(内部版本号:22B5034e),本次更新距离上次发布Beta/RC间隔8天。此次更新的iOS18Beta8已无限接近正式版,更新文件并未提到任何新功能,只是修复了Bug和一些改进,这意味着iOS18基础测试功能基本完成
输入文字转化语音
李洋-蛟龙腾飞公司
HarmonyOS
一、介绍基于鸿蒙Next模拟一个输入用户文字,转化成语音播报效果二、场景需求辅助功能:为视障人士提供帮助:将文字内容转化为语音,使视觉障碍用户能够获取信息。教育与学习:语言学习:帮助学习者通过听力学习语言,提供正确的发音。有声读物:将电子书或教材转化为有声形式,方便学习和阅读。客户服务:自动语音应答系统:在客户服务热线中,通过语音播报来解答常见问题或提供信息。智能设备:智能家居助手:例如,Goog
解线性方程组
qiuwanchi
package gaodai.matrix;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner scanner = new Sc
在mysql内部存储代码
annan211
性能 mysql 存储过程 触发器
在mysql内部存储代码
在mysql内部存储代码,既有优点也有缺点,而且有人倡导有人反对。
先看优点:
1 她在服务器内部执行,离数据最近,另外在服务器上执行还可以节省带宽和网络延迟。
2 这是一种代码重用。可以方便的统一业务规则,保证某些行为的一致性,所以也可以提供一定的安全性。
3 可以简化代码的维护和版本更新。
4 可以帮助提升安全,比如提供更细
Android使用Asynchronous Http Client完成登录保存cookie的问题
hotsunshine
android
Asynchronous Http Client是android中非常好的异步请求工具
除了异步之外还有很多封装比如json的处理,cookie的处理
引用
Persistent Cookie Storage with PersistentCookieStore
This library also includes a PersistentCookieStore whi
java面试题
Array_06
java 面试
java面试题
第一,谈谈final, finally, finalize的区别。
final-修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能
网站加速
oloz
网站加速
前序:本人菜鸟,此文研究总结来源于互联网上的资料,大牛请勿喷!本人虚心学习,多指教.
1、减小网页体积的大小,尽量采用div+css模式,尽量避免复杂的页面结构,能简约就简约。
2、采用Gzip对网页进行压缩;
GZIP最早由Jean-loup Gailly和Mark Adler创建,用于UNⅨ系统的文件压缩。我们在Linux中经常会用到后缀为.gz
正确书写单例模式
随意而生
java 设计模式 单例
单例模式算是设计模式中最容易理解,也是最容易手写代码的模式了吧。但是其中的坑却不少,所以也常作为面试题来考。本文主要对几种单例写法的整理,并分析其优缺点。很多都是一些老生常谈的问题,但如果你不知道如何创建一个线程安全的单例,不知道什么是双检锁,那这篇文章可能会帮助到你。
懒汉式,线程不安全
当被问到要实现一个单例模式时,很多人的第一反应是写出如下的代码,包括教科书上也是这样
单例模式
香水浓
java
懒汉 调用getInstance方法时实例化
public class Singleton {
private static Singleton instance;
private Singleton() {}
public static synchronized Singleton getInstance() {
if(null == ins
安装Apache问题:系统找不到指定的文件 No installed service named "Apache2"
AdyZhang
apache http server
安装Apache问题:系统找不到指定的文件 No installed service named "Apache2"
每次到这一步都很小心防它的端口冲突问题,结果,特意留出来的80端口就是不能用,烦。
解决方法确保几处:
1、停止IIS启动
2、把端口80改成其它 (譬如90,800,,,什么数字都好)
3、防火墙(关掉试试)
在运行处输入 cmd 回车,转到apa
如何在android 文件选择器中选择多个图片或者视频?
aijuans
android
我的android app有这样的需求,在进行照片和视频上传的时候,需要一次性的从照片/视频库选择多条进行上传
但是android原生态的sdk中,只能一个一个的进行选择和上传。
我想知道是否有其他的android上传库可以解决这个问题,提供一个多选的功能,可以使checkbox之类的,一次选择多个 处理方法
官方的图片选择器(但是不支持所有版本的androi,只支持API Level
mysql中查询生日提醒的日期相关的sql
baalwolf
mysql
SELECT sysid,user_name,birthday,listid,userhead_50,CONCAT(YEAR(CURDATE()),DATE_FORMAT(birthday,'-%m-%d')),CURDATE(), dayofyear( CONCAT(YEAR(CURDATE()),DATE_FORMAT(birthday,'-%m-%d')))-dayofyear(
MongoDB索引文件破坏后导致查询错误的问题
BigBird2012
mongodb
问题描述:
MongoDB在非正常情况下关闭时,可能会导致索引文件破坏,造成数据在更新时没有反映到索引上。
解决方案:
使用脚本,重建MongoDB所有表的索引。
var names = db.getCollectionNames();
for( var i in names ){
var name = names[i];
print(name);
Javascript Promise
bijian1013
JavaScript Promise
Parse JavaScript SDK现在提供了支持大多数异步方法的兼容jquery的Promises模式,那么这意味着什么呢,读完下文你就了解了。
一.认识Promises
“Promises”代表着在javascript程序里下一个伟大的范式,但是理解他们为什么如此伟大不是件简
[Zookeeper学习笔记九]Zookeeper源代码分析之Zookeeper构造过程
bit1129
zookeeper
Zookeeper重载了几个构造函数,其中构造者可以提供参数最多,可定制性最多的构造函数是
public ZooKeeper(String connectString, int sessionTimeout, Watcher watcher, long sessionId, byte[] sessionPasswd, boolea
【Java命令三】jstack
bit1129
jstack
jstack是用于获得当前运行的Java程序所有的线程的运行情况(thread dump),不同于jmap用于获得memory dump
[hadoop@hadoop sbin]$ jstack
Usage:
jstack [-l] <pid>
(to connect to running process)
jstack -F
jboss 5.1启停脚本 动静分离部署
ronin47
以前启动jboss,往各种xml配置文件,现只要运行一句脚本即可。start nohup sh /**/run.sh -c servicename -b ip -g clustername -u broatcast jboss.messaging.ServerPeerID=int -Djboss.service.binding.set=p
UI之如何打磨设计能力?
brotherlamp
UI ui教程 ui自学 ui资料 ui视频
在越来越拥挤的初创企业世界里,视觉设计的重要性往往可以与杀手级用户体验比肩。在许多情况下,尤其对于 Web 初创企业而言,这两者都是不可或缺的。前不久我们在《右脑革命:别学编程了,学艺术吧》中也曾发出过重视设计的呼吁。如何才能提高初创企业的设计能力呢?以下是 9 位创始人的体会。
1.找到自己的方式
如果你是设计师,要想提高技能可以去设计博客和展示好设计的网站如D-lists或
三色旗算法
bylijinnan
java 算法
import java.util.Arrays;
/**
问题:
假设有一条绳子,上面有红、白、蓝三种颜色的旗子,起初绳子上的旗子颜色并没有顺序,
您希望将之分类,并排列为蓝、白、红的顺序,要如何移动次数才会最少,注意您只能在绳
子上进行这个动作,而且一次只能调换两个旗子。
网上的解法大多类似:
在一条绳子上移动,在程式中也就意味只能使用一个阵列,而不使用其它的阵列来
警告:No configuration found for the specified action: \'s
chiangfai
configuration
1.index.jsp页面form标签未指定namespace属性。
<!--index.jsp代码-->
<%@taglib prefix="s" uri="/struts-tags"%>
...
<s:form action="submit" method="post"&g
redis -- hash_max_zipmap_entries设置过大有问题
chenchao051
redis hash
使用redis时为了使用hash追求更高的内存使用率,我们一般都用hash结构,并且有时候会把hash_max_zipmap_entries这个值设置的很大,很多资料也推荐设置到1000,默认设置为了512,但是这里有个坑
#define ZIPMAP_BIGLEN 254
#define ZIPMAP_END 255
/* Return th
select into outfile access deny问题
daizj
mysql txt 导出数据到文件
本文转自:http://hatemysql.com/2010/06/29/select-into-outfile-access-deny%E9%97%AE%E9%A2%98/
为应用建立了rnd的帐号,专门为他们查询线上数据库用的,当然,只有他们上了生产网络以后才能连上数据库,安全方面我们还是很注意的,呵呵。
授权的语句如下:
grant select on armory.* to rn
phpexcel导出excel表简单入门示例
dcj3sjt126com
PHP Excel phpexcel
<?php
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
if (PHP_SAPI == 'cli')
die('This example should only be run from a Web Brows
美国电影超短200句
dcj3sjt126com
电影
1. I see. 我明白了。2. I quit! 我不干了!3. Let go! 放手!4. Me too. 我也是。5. My god! 天哪!6. No way! 不行!7. Come on. 来吧(赶快)8. Hold on. 等一等。9. I agree。 我同意。10. Not bad. 还不错。11. Not yet. 还没。12. See you. 再见。13. Shut up!
Java访问远程服务
dyy_gusi
httpclient webservice get post
随着webService的崛起,我们开始中会越来越多的使用到访问远程webService服务。当然对于不同的webService框架一般都有自己的client包供使用,但是如果使用webService框架自己的client包,那么必然需要在自己的代码中引入它的包,如果同时调运了多个不同框架的webService,那么就需要同时引入多个不同的clien
Maven的settings.xml配置
geeksun
settings.xml
settings.xml是Maven的配置文件,下面解释一下其中的配置含义:
settings.xml存在于两个地方:
1.安装的地方:$M2_HOME/conf/settings.xml
2.用户的目录:${user.home}/.m2/settings.xml
前者又被叫做全局配置,后者被称为用户配置。如果两者都存在,它们的内容将被合并,并且用户范围的settings.xml优先。
ubuntu的init与系统服务设置
hongtoushizi
ubuntu
转载自:
http://iysm.net/?p=178 init
Init是位于/sbin/init的一个程序,它是在linux下,在系统启动过程中,初始化所有的设备驱动程序和数据结构等之后,由内核启动的一个用户级程序,并由此init程序进而完成系统的启动过程。
ubuntu与传统的linux略有不同,使用upstart完成系统的启动,但表面上仍维持init程序的形式。
运行
跟我学Nginx+Lua开发目录贴
jinnianshilongnian
nginx lua
使用Nginx+Lua开发近一年的时间,学习和实践了一些Nginx+Lua开发的架构,为了让更多人使用Nginx+Lua架构开发,利用春节期间总结了一份基本的学习教程,希望对大家有用。也欢迎谈探讨学习一些经验。
目录
第一章 安装Nginx+Lua开发环境
第二章 Nginx+Lua开发入门
第三章 Redis/SSDB+Twemproxy安装与使用
第四章 L
php位运算符注意事项
home198979
位运算 PHP &
$a = $b = $c = 0;
$a & $b = 1;
$b | $c = 1
问a,b,c最终为多少?
当看到这题时,我犯了一个低级错误,误 以为位运算符会改变变量的值。所以得出结果是1 1 0
但是位运算符是不会改变变量的值的,例如:
$a=1;$b=2;
$a&$b;
这样a,b的值不会有任何改变
Linux shell数组建立和使用技巧
pda158
linux
1.数组定义 [chengmo@centos5 ~]$ a=(1 2 3 4 5) [chengmo@centos5 ~]$ echo $a 1 一对括号表示是数组,数组元素用“空格”符号分割开。
2.数组读取与赋值 得到长度: [chengmo@centos5 ~]$ echo ${#a[@]} 5 用${#数组名[@或
hotspot源码(JDK7)
ol_beta
java HotSpot jvm
源码结构图,方便理解:
├─agent Serviceab
Oracle基本事务和ForAll执行批量DML练习
vipbooks
oracle sql
基本事务的使用:
从账户一的余额中转100到账户二的余额中去,如果账户二不存在或账户一中的余额不足100则整笔交易回滚
select * from account;
-- 创建一张账户表
create table account(
-- 账户ID
id number(3) not null,
-- 账户名称
nam