发现公众号中一篇关于功能测试案例编写的总结,觉得很赞,就转载记下来。转载来自公众号:光明之路
功能测试框架 可以包括:界面友好性测试、功能测试、链接测试、容错测试、稳定性测试、常规性能测试、配置测试、算法测试 等等。
1.1.1 界面友好性测试
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-XXXX:XX:XX
19. 页面是否有多余按钮或标签
20. 窗口标题或图标是否与菜单栏的统一
21. 窗口的最大化、最小化是否能正确切换
22. 对于正常的功能,用户可以不必阅读用户手册就能使用
23. 执行风险操作时,有确认、删除等提示吗
24. 操作顺序是否合理
25. 正确性检查:检查页面上的form, button, table, header, footer,提示信息,还有其他文字拼写,句子的语法等是否正确。
26. 系统应该在用户执行错误的操作之前提出警告,提示信息.
27. 页面分辨率检查,在各种分辨率浏览系统检查系统界面友好性。
28. 合理性检查:做delete, update, add, cancel, back等操作后,查看信息回到的页面是否合理。
29. 检查本地化是否通过:英文版不应该有中文信息,英文翻译准确,专业。
30. 背景灰度冻结
1.1. 2 功能测试
1. 使用所有默认值进行测试
2. 根据所有产品文档、帮助文档中描述的内容要进行遍历测试
3. 输入判断
4. 所有界面出现是和否的逻辑,要测试
5. 异常处理
6. 敏感词
7. 根据需求文档的流程图遍历所有流程图路径
8. 根据程序内容,遍历if elif else switch的逻辑点要遍历
9. 界面各种控件测试
如对于输入框测试 :
一、字符型输入框:
1. 字符型输入框:英文全角、英文半角、数字、空或者空格、特殊字符“~!@#¥%……&*?[]{}”特别要注意单引号和&符号。禁止直接输入特殊字符时,使用“粘贴、拷贝”功能尝试输入。
2. 长度检查:最小长度、最大长度、最小长度-1、最大长度+1、输入超工字符比如把整个文章拷贝过去。
3. 空格检查:输入的字符间有空格、字符前有空格、字符后有空格、字符前后有空格
4. 多行文本框输入:允许回车换行、保存后再显示能够保存输入的格式、仅输入回车换行,检查能否正确保存(若能,检查保存结果,若不能,查看是否有正常提示)、
5. 安全性检查:输入特殊字符串
(null,NULL,,javascript,,
,,)、输入脚本函数()、doucment.write("abc")、hello )
二、数值型输入框:
1. 边界值:最大值、最小值、最大值+1、最小值-1
2. 位数:最小位数、最大位数、最小位数-1最大位数+1、输入超长值、输入整数
3.异常值、特殊字符:输入空白(NULL)、空格或"~!@#$%^&*()_+{}|[]\:"<>?;',./?;:'-=等可能导致系统错误的字符、禁止直接输入特殊字符时,尝试使用粘贴拷贝查看是否能正常提交、word中的特殊功能,通过剪贴板拷贝到输入框,分页符,分节符类似公式的上下标等、数值的特殊符号如∑,㏒,㏑,∏,+,-等、
输入负整数、负小数、分数、输入字母或汉字、小数(小数前0点舍去的情况,多个小数点的情况)、首位为0的数字如01、02、科学计数法是否支持1.0E2、全角数字与半角数字、数字与字母混合、16进制,8进制数值、货币型输入(允许小数点后面几位)、
4. 安全性检查:不能直接输入就copy
三、日期型输入框:
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,是否数据检验出错?
1.1. 3 业务流程测试(主要功能测试)
业务流程,一般会涉及到多个模块的数据,所以在对业务流程测试时,首先要保证单个模块功能的正确性,其次就要对各个模块间传递的数据进行测试,这往往是容易出现问题的地方,测试时一定要设计不同的数据进行测试。
如某一功能模块具有最基本的增删改查功能,则需要进行以下测试:
1. 单项功能测试(增加、修改、查询、删除)
2. 增加——>增加——>增加 (连续增加测试)
3. 增加——>删除
4. 增加——>删除——>增加 (新增加的内容与删除内容一致)
5. 增加——>修改——>删除
6. 修改——>修改——>修改 (连续修改测试)
7. 修改——>增加(新增加的内容与修改前内容一致)
8. 修改——>删除
9. 修改——>删除——>增加 (新增加的内容与删除内容一致)
10. 删除——>删除——>删除 (连续删除测试)
1.1. 4 链接测试
主要是保证链接的可用性和正确性,它也是网站测试中比较重要的一个方面。
可以使用特定的工具如XENU来进行链接测试。
1.1 .5 容错测试
1. 输入系统不允许的数据作为输入
2. 把某个相关模块或者子系统停掉,验证对当前系统的影响
3. 配置文件删除或者配置错误
4. 数据库注入错误数据
1.1.6 稳定性测试
1. 系统不间断运行(7*24),验证是否内存泄露、系统其他资源是否存在泄露
2. 如果很紧急上线,可以跑一晚上或者周末跑两天。
一般压力很大的情况下,数据库连接数问题、内存泄露问题会曝露的比较快但是死锁可能不能体现,所以要看系统重要性,如12306稳定性则最好7*24小时
1.1. 7 常规性能测试
1. 连接速度测试
用户连接到Web应用系统的速度根据上网方式的变化而变化,他们或许是电话拨号,或是宽带上网。当下载一个程序时,用户可以等较长的时间,但如果仅仅访问一个页面就不会这样。如果Web系统响应时间太长(例如超过5秒钟),用户就会因没有耐心等待而离开。 另外,有些页面有超时的限制,如果响应速度太慢,用户可能还没来得及浏览内容,就需要重新登陆了。而且,连接速度太慢,还可能引起数据丢失,使用户得不到真实的页面。
2. 负载测试 负载测试是为了测量Web系统在某一负载级别上的性能,以保证Web系统在需求范围内能正常工作。负载级别可以是某个时刻同时访问Web系统的用户数量,也可以是在线数据处理的数量。例如:Web应用系统能允许多少个用户同时在线?如果超过了这个数量,会出现什么现象?Web应用系统能否处理大量用户对同一个页面的请求?3. 压力测试 负载测试应该安排在Web系统发布以后,在实际的网络环境中进行测试。因为一个企业内部员工,特别是项目组人员总是有限的,而一个Web系统能同时处理的请求数量将远远超出这个限度,所以,只有放在Internet上,接受负载测试,其结果才是正确可信的。 进行压力测试是指实际破坏一个Web应用系统,测试系统的反映。压力测试是测试系统的限制和故障恢复能力,也就是测试Web应用系统会不会崩溃,在什么情况下会崩溃。黑客常常提供错误的数据负载,直到Web应用系统崩溃,接着当系统重新启动时获得存取权。 压力测试的区域包括表单、登陆和其他信息传输页面等
1.1. 8 易用性测试
1. 系统界面的控件是否可以通过tab键遍历,并且顺序合理
2. 主要功能的入口和操作是否易于理解
3. 界面是否布局合理,功能是否易于查找和使用
4. 操作步骤
5. 操作习惯
6. 有足够的提示信息,且信息文字描述准确
1.1.9 兼容性测试
兼容性测试不只是指界面在不同操作系统或浏览器下的兼容,有些功能方面的测试,也要考虑到兼容性,包括操作系统兼容和应用软件兼容,可能还包括硬件兼容,比如涉及到ajax、jquery、javascript等技术的,都要考虑到不同浏览器下的兼容性问题。
除了上面所说的这些测试以外,还有算法测试、配置测试、安全性测试等等,在工作中不断总结和分析,形成自己的功能测试框架,当你把这份工作做起来以后,对于你自己对于测试团队而言都是一份很有价值的事情,你的测试思路也会变得更全面。
你可能感兴趣的:(功能测试)
测试工程师Ai应用实战指南简例prompt
进击的雷神
prompt
阅读原文以下是一个真实具体的案例,展示测试工程师如何在不同阶段结合DeepSeek提升效率。案例基于电商平台"订单超时自动关闭"功能测试:案例背景项目名称:电商平台订单系统V2.3测试目标:验证"用户下单后30分钟未支付,订单自动关闭并释放库存"功能技术栈:SpringBoot+MySQL+Redis延迟队列1.需求分析阶段痛点:需求文档仅描述业务逻辑,未明确异常场景(如服务器时间不同步、Redi
UI自动化测试往往在功能测试之后进行的核心原因
豌豆射手^
测试 ui 功能测试
一、流程效率:避免“过早优化浪费资源”1.功能未定型,频繁修改导致脚本维护成本高实际场景:某电商平台开发初期,前端页面按钮的ID因需求变动频繁更改。此时若投入UI自动化,需不断调整元素定位逻辑,甚至完全重写脚本。对比分析:阶段功能测试方式成本对比开发初期手动功能测试人工快速验证,适应变化,成本低。稳定期UI自动化测试代码维护成本高,反复修改会抵消效率收益。2.瀑布模型与敏捷开发的差异瀑布模型:严格
弱网测试究竟要怎么做,才能防止漏测?
学掌门
IT 软件测试 程序员 软件测试 软件测试工程师
1、为什么要进行弱网测试?在游戏测试–黑盒测试中,分为功能测试与专项测试,在上几篇文章中说的都是功能测试,而专项测试主要包括弱网和性能测试。(其实弱网也是性能的一种。)功能测试主要是保证功能的完整性,能让玩家能够流程的体验整个游戏功能,而弱网测试就是其中需要关注的异常点。首先我们知道现在的网络场景一般是无网络2g3g4g和wifi,以及即将要到来的5g。弱网当然就包括无网、2g,3g不知道算不算,
Nacos部署模式介绍、应用场景和示例
小猿、
服务器相关技术栈 微服务技术栈 docker 后端 微服务
概述Nacos支持多种部署模式,主要包括单机模式、集群模式和多集群模式。1.单机模式特点:只有一个Nacos节点。数据存储在本地嵌入式数据库(如Derby)。配置简单,启动快速。应用场景:开发环境:开发者可以在本地快速启动Nacos进行开发和调试。测试环境:用于功能测试和集成测试,无需复杂的集群配置。Docker部署示例:1、拉取Nacos镜像:dockerpullnacos/nacos-serv
【总结】Pytest vs Behave,BDD 测试框架哪家强?
软件测试 pytest behave
引言在测试驱动开发(TDD)和行为驱动开发(BDD)流行的今天,Pytest和Behave成为了Python生态中最常见的自动化测试框架。那么,究竟该选择哪一个?它们各自有哪些优缺点?本篇文章将为你全面解析!1.什么是Pytest?Pytest是一个强大且灵活的Python测试框架,适用于单元测试、功能测试和API测试。它支持简单的函数式测试,同时具备强大的插件机制。Pytest的核心特点:✅语法
软件测试肖sir__接口测试之基本介绍(2)
金牌软件测试培训师肖sir
接口
接口测试之基本介绍搭建环境cms:url:http://cms.duoceshi.cn/cms/manage/login.do一、接口基本介绍1、什么是接口测试?定义:接口统称api,程序与程序之间的数据交换;模块与模块之间的数据交换;2、为什么做接口?(1)能够尽早介入测试;(2)能测试功能无法测试的场景(3)节约时间;(先进行接口测试,在进行功能测试,能节省测试时间)3、如何做接口?通过工具p
F12抓包用于做postman接口测试的全过程解析
自动化测试君
软件测试 自动化测试 接口测试 postman 测试工具 软件测试 经验分享 职场和发展
一、为什么抓包从功能测试角度通过抓包查看隐藏字段Web表单中会有很多隐藏的字段,这些隐藏字段一般都有一些特殊的用途,比如收集用户的数据,预防CRSF攻击,防网络爬虫,以及一些其他用途。这些隐藏字段在界面上都看不到,如果想检测这些字段,就必须要使用抓包工具。通过抓包工具了解协议内容方便开展接口和性能测试性能测试方面,性能测试其实就是大量模拟用户的请求,所以我们必须要知道请求中的协议内容和特点,才能更
通过Java代码实现ping功能测试ip地址与ip:port的连通性
Java大侠
业务代码 java 功能测试
通过Java代码实现测试ip地址与ip:port的连通性需求分析具体实现测试ip连通性测试ip:port连通性重试机制需求分析最近在业务中,需要添加一种掉线告警系统。大致思路为:通过定时任务扫描,每一个小时判断一次设备是否在线,如果在线继续判断端口是否能够通讯。如果不在线或者不能通讯,需要及时push消息给告警人员,及时处理。具体实现测试ip连通性主要通过InetAddress类来实现/***@p
如何保证接口测试的覆盖率?
软件测试媛
软件测试 技术分享 自动化测试 测试工具
写在前面_一定要先谈下接口在测试领域的地位:在当前企业实际测试技能应用中,功能测试和接口测试应用最广泛。但相比功能测试,接口测试缺口却非常大。且接口测试在测试领域地位非常高,是软件测试工程师初级和中级分界线。所以测试人员只要懂得接口测试,就能找到薪资很不错的工作。所以测试工作者(也就是提问者眼中的QA),一定要尽最大努力去提高自己的接口测试实力。如果想提高接口测试的代码覆盖率。首先要知道代码覆盖率
这些用例设计题,你在面试时遇到过吗?
bug管理者
软件测试 面试 软件测试 面试
功能测试点赞功能:1.点击点赞按钮,是否可以成功点赞,并显示点赞图标和微信昵称;2.点赞成功后是否可以取消点赞;3.没有网络情况下是否可以点赞;4.点赞成功后是否可以评论;5.是否按照点赞顺序进行排序;6.点赞刚好一排可以显示多少头像;7.是否有点赞人数限制;8.是否可以多次点赞/取消点赞;9.点赞成功后,原“点赞”字样是否变为“取消”;10.朋友圈是否可以看到共同好友的点赞;11.是否可以点赞刚
如何撰写一份清晰专业的软件功能测试报告?看这篇就够了!
软件测试君
自动化测试 软件测试 职场经验 功能测试 面试 软件测试 自动化测试 职场经验 深度学习 功能测试报告
面试求职:「面试试题小程序」,内容涵盖测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)职场经验干货:软件测试工程师简历上如何编写个人信息(一周8个面试)软件测试工程师简历上如何编写专业技能(一周8个面试)软件测
小程序测试怎么做?第三方软件测试机构如何收费?
第三方软件测评
小程序 软件测试
小程序的出现极大的提升了我们工作和生活的便利性,是一种轻量级应用程序,无需下载安装即可使用,可以通过扫码或搜索直接打开应用,运行在特定的宿主平台(如微信、支付宝等)中。平时可以通过小程序进行购物、学习、娱乐等,还能通过小程序进行医院等场所的预约挂号、缴费服务。那么如此方便的小程序测试该怎么做呢?小程序的用途各不相同,但小程序测试和其他应用程序要开展的测试工作大体相同,具体包括以下几种:1.功能测试
功能测试和接口测试详解
测试老哥
功能测试 python 软件测试 自动化测试 接口测试 测试用例 测试工具
点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快本文主要分为两个部分:第一部分:主要从问题出发,引入接口测试的相关内容并与前端测试进行简单对比,总结两者之前的区别与联系。但该部分只交代了怎么做和如何做?并没有解释为什么要做?第二部分:主要介绍为什么要做接口测试,并简单总结接口持续集成和接口质量评估相关内容。第一部分首先,在做接口测试的过程中,经常有后端开发会问:后端接口都测试什么?怎么
TestHubo在Windows环境下安装与配置教程
城南花开时
TestHubo安装教程
TestHubo是一款开源免费的全栈测试工具,包括项目管理、用例管理、测试计划、统计分析等模块,支持功能测试、接口测试、WEB测试、APP测试、性能测试等类型,产品功能完善,简洁易用、开源免费,本文将介绍如何在Windows环境下安装与配置,以快速上手。1、服务端安装下载,Windows安装包下载地址:TestHubo-下载,下载安装包如tiklab-testhubo.x.x.x.exe。安装,
基于微信小程序的文章管理系统的设计与开发(源码+lw+部署文档+讲解等)
#Takagi S#
微信小程序 notepad++ 小程序
文章目录前言项目背景介绍技术栈后端框架SSM前端框架Vue数据库MySQL(MyStructuredQueryLanguage)微信小程序具体实现截图详细视频演示系统测试系统测试目的系统功能测试系统测试结论代码参考数据库参考源码获取前言博主介绍:✌新人博主,工作经验两年+、专注于Java、小程序技术领域和毕业项目实战✌文末获取源码+数据库感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写
从自动化到测开,测试人员逆袭之路从此起步!
小码哥说测试
软件测试 自动化测试 技术分享 自动化 python 压力测试 职场和发展 测试工具 自动化测试 软件测试
在当今竞争激烈的软件测试行业中,近期的招聘市场确实面临一些挑战。大量的求职者争相涌入岗位,许多热衷于功能测试的人士甚至难以找到理想的工作机会。更不幸的是,连自动化测试和性能测试这些专业领域也受到了测试开发人员的竞争压力。然而,让我们抛开焦虑,聚焦于一个更广阔的发展方向——测试平台开发。张哥,一个曾经专注于功能测试的年轻测试工程师,曾因投递岗位时与成百上千的竞争者相伴而感到焦虑不安。然而,他的求职历
测试江湖:为什么大多数人宁愿吃生活的苦,也不愿意吃学习的苦
爱吃 香菜
软件测试 自动化测试 职场经验 学习 软件测试 自动化测试 测试工具 职场经验 程序员 功能测试
面试求职:「面试试题小程序」,内容涵盖测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)职场经验干货:软件测试工程师简历上如何编写个人信息(一周8个面试)软件测试工程师简历上如何编写专业技能(一周8个面试)软件测
黑马程序员-接口测试-四天学习接口测试-第二天-接口用例设计,测试点,功能测试,安全测试,性能测试,单接口测试,业务场景测试用例,postman简介,安装
学习记录wanxiaowan
postman 学习 功能测试
今日学习目标分析接口文档,设计编写接口测试用例使用Postman设置请求方法、URL、请求头、请求体,向接口发送http请求,并查看响应数据分析接口文档,设计接口测试用例使用postman设置请求方法,url请求头,请求体,查看响应数据3接口用例设计为什么写防止测试点漏测。条理清晰方便分配工作,评估工作量和时间面试时使用!接口测试的测试点测试点称之为测试维度。5功能测试单接口功能:手工测试中的单个
通过 Ollama 本地部署 DeepSeek-r1:1.5b 模型后,用 Python 调用推理并生成基于 pytest + PO 设计模式的 Playwright 自动化测试文件
Python测试之道
测试提效 python python pytest 设计模式
以下是完整的实现步骤和代码示例,详细说明了如何通过Python调用本地部署的DeepSeek-r1:1.5b模型,将功能测试用例转换为适合pytest和PageObject(PO)设计模式的Playwright自动化测试脚本。一、前提条件DeepSeek模型本地部署通过Ollama部署DeepSeek-r1:1.5b模型。Ollama提供的本地推理服务默认可通过HTTPAPI访问,地址通常为:ht
Web UI自动化测试--元素操作
每 天 早 睡
持续集成与自动化测试 ui
一、介绍什么是webui自动化测试1、通过代码来模拟人的手工操作,执行测试内容2、自动化是为了代替重复的手工操作,提高测试效率ui自动化的价值:1、回归速度的对比,以前进行全量回归测试需要x天,现在有没有减少2、负责功能测试的同事,是不是有更多的时间测试新需求了3、自动化测试不是为了发现bug,而是为手工测试节省回归时间ui自动化的原理(selenium与webdriver):selenium是一
MATLAB控制函数测试要点剖析
蚂蚁质量
其他 matlab 深度学习
一、功能准确性检验基础功能核验针对常用控制函数,像用于传递函数建模的tf、构建状态空间模型的ss,以及开展阶跃响应分析的step等,必须确认其能精准执行基础操作。以tf函数为例,在输入分子与分母系数后,理应生成准确无误的传递函数模型;而运用step函数时,则应能够精准计算并绘制出系统的阶跃响应曲线,如实反映系统对阶跃输入的动态响应过程。复杂功能测试对于高级控制函数,例如线性二次调节器lqr、模型预
在MATLAB环境中,对矩阵拼接(Matrix Concatenation)的测试
蚂蚁质量
软件测试 matlab 矩阵
在MATLAB环境中,对矩阵拼接(MatrixConcatenation)的正确性与鲁棒性开展测试时,需要依据不同的拼接场景精心设计测试用例,全面验证矩阵维度、数据顺序、边界条件以及异常处理等关键方面。以下是详尽的测试方法与具体示例:基础功能测试(1)水平拼接([A,B]或horzcat)测试目的:确认在列方向进行拼接后,所得矩阵的尺寸是否准确无误,以及数据排列顺序是否符合预期。测试代码:matl
软件测试基础详解
天才测试猿
python 测试工具 测试用例 功能测试 软件测试 自动化测试 职场和发展
1、黑盒测试、白盒测试、灰盒测试1.1黑盒测试黑盒测试又叫功能测试、数据驱动测试或基于需求规格说明书的功能测试。该类测试注重于测试软件的功能性需求。采用这种测试方法,测试工程师把测试对象看作一个黑盒子,完全不考虑程序内部的逻辑结构和内部特性,只依据程序的《需求规格说明书》,检查程序的功能是否符合它的功能说明。测试工程师无需了解程序代码的内部构造,完全模拟软件产品的最终用户使用该软件,检查软件产品是
Apache Doris 现行版本 Docker-Compose 运行教程
atbigapp.com
大数据 doris 大数据 mpp
特别注意!DorisOnDocker部署方式仅限于开发环境或者功能测试环境,不建议生产环境部署!如有生产环境或性能测试集群部署诉求,请使用裸机/虚机部署或K8SOperator部署方案!原文阅读:ApacheDoris现行版本Docker-Compose运行教程引言随着ApacheDoris项目的火热,很多想尝鲜或者试用的小伙伴都希望通过Docker来快速拉起一个功能测试或者开发的集群,但由于一些
Web3 DApp 测试指南
m0_51192916
web3 DApp
Web3DApp测试个人总结Web3DApp(去中心化应用)前端开发与传统Web2应用存在显著不同。由于DApp依赖智能合约、区块链RPC交互、钱包签名等技术,其测试方式也有别于传统前端测试。本指南系统介绍Web3DApp前端的测试方法,包括功能测试、兼容性测试、安全测试、性能测试,让你快速上手Web3DApp测试。1.Web3DApp基础知识1.1什么是Web3DApp?Web3DApp(Dec
【黑盒测试与白盒测试】
CircuitWizard
java-ee
一、黑盒测试(BlackBoxTesting)黑盒测试是一种功能测试方法,测试人员仅关注软件的外部行为和输入输出关系,而无需了解内部代码实现。其核心思想是验证软件是否满足用户需求和功能规格。特点:以用户视角测试:模拟真实用户操作不依赖代码实现:适用于需求验证覆盖功能场景:包括正常/异常输入、边界值等常用测试类型:功能测试回归测试兼容性测试性能测试典型示例:登录功能测试输入正确用户名和密码→跳转至主
pytest框架 核心知识的系统复习
双子测试
pytest
1.pytest介绍是什么:Python最流行的单元测试框架之一,支持复杂的功能测试和插件扩展。优点:语法简洁(用assert替代self.assertEqual)。自动发现测试用例。丰富的插件生态(如失败重试、并发执行、报告生成)。兼容unittest框架,比自带unittest框架更加简洁高效,在unittest框架迁移到pytest框架时不需要重写代码。适用场景:单元测试、接口测试、UI自动
swagger基本使用及常用注解
耀辰
框架 api swagger2
一、介绍Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。作用:1.接口的文档在线自动生成。2.功能测试。每当我在学习一门知识的都会习惯性的去看他的介绍,了解出现的起源、使用的目的。或许有人就会问了,知道是什么但是还是不
金融合规测试:金融系统稳健运行的“定海神针“
软件测试 金融 合规测试
一、什么是金融合规测试?金融行业是受监管最严格的领域之一,各国政府和监管机构(如中国人民银行、银保监会、证监会、美国SEC、欧盟ESMA等)都制定了严格的法律法规,要求金融机构确保系统安全、交易透明、公平竞争,并防范金融风险。金融合规测试就是指针对金融系统进行的专项测试,以验证其是否符合各类合规性要求。金融合规测试不仅涉及传统的软件功能测试,还包括数据安全、交易透明度、隐私保护、反洗钱(AML)、
软件工程---软件测试
Dragonlongbo
软件工程
软件测试是指在软件开发过程中,通过一系列的测试活动来评估和验证软件系统或应用程序的质量。它是一种用于发现和修复软件缺陷、错误和问题的过程,旨在确保软件能够满足其预期功能、性能和安全需求。软件测试分类软件测试可以按照多个维度进行分类,最常见的分类方式有以下几种:按测试阶段分:单元测试、集成测试、系统测试、验收测试按测试目的分:功能测试、性能测试、安全测试、兼容性测试按测试覆盖范围分:回归测试、全面测
java责任链模式
3213213333332132
java 责任链模式 村民告县长
责任链模式,通常就是一个请求从最低级开始往上层层的请求,当在某一层满足条件时,请求将被处理,当请求到最高层仍未满足时,则请求不会被处理。
就是一个请求在这个链条的责任范围内,会被相应的处理,如果超出链条的责任范围外,请求不会被相应的处理。
下面代码模拟这样的效果:
创建一个政府抽象类,方便所有的具体政府部门继承它。
package 责任链模式;
/**
*
linux、mysql、nginx、tomcat 性能参数优化
ronin47
一、linux 系统内核参数
/etc/sysctl.conf文件常用参数 net.core.netdev_max_backlog = 32768 #允许送到队列的数据包的最大数目
net.core.rmem_max = 8388608 #SOCKET读缓存区大小
net.core.wmem_max = 8388608 #SOCKET写缓存区大
php命令行界面
dcj3sjt126com
PHP cli
常用选项
php -v
php -i PHP安装的有关信息
php -h 访问帮助文件
php -m 列出编译到当前PHP安装的所有模块
执行一段代码
php -r 'echo "hello, world!";'
php -r 'echo "Hello, World!\n";'
php -r '$ts = filemtime("
Filter&Session
171815164
session
Filter
HttpServletRequest requ = (HttpServletRequest) req;
HttpSession session = requ.getSession();
if (session.getAttribute("admin") == null) {
PrintWriter out = res.ge
连接池与Spring,Hibernate结合
g21121
Hibernate
前几篇关于Java连接池的介绍都是基于Java应用的,而我们常用的场景是与Spring和ORM框架结合,下面就利用实例学习一下这方面的配置。
1.下载相关内容: &nb
[简单]mybatis判断数字类型
53873039oycg
mybatis
昨天同事反馈mybatis保存不了int类型的属性,一直报错,错误信息如下:
Caused by: java.lang.NumberFormatException: For input string: "null"
at sun.mis
项目启动时或者启动后ava.lang.OutOfMemoryError: PermGen space
程序员是怎么炼成的
eclipse jvm tomcat catalina.sh eclipse.ini
在启动比较大的项目时,因为存在大量的jsp页面,所以在编译的时候会生成很多的.class文件,.class文件是都会被加载到jvm的方法区中,如果要加载的class文件很多,就会出现方法区溢出异常 java.lang.OutOfMemoryError: PermGen space.
解决办法是点击eclipse里的tomcat,在
我的crm小结
aijuans
crm
各种原因吧,crm今天才完了。主要是接触了几个新技术:
Struts2、poi、ibatis这几个都是以前的项目中用过的。
Jsf、tapestry是这次新接触的,都是界面层的框架,用起来也不难。思路和struts不太一样,传说比较简单方便。不过个人感觉还是struts用着顺手啊,当然springmvc也很顺手,不知道是因为习惯还是什么。jsf和tapestry应用的时候需要知道他们的标签、主
spring里配置使用hibernate的二级缓存几步
antonyup_2006
java spring Hibernate xml cache
.在spring的配置文件中 applicationContent.xml,hibernate部分加入
xml 代码
<prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>
<prop key="hi
JAVA基础面试题
百合不是茶
抽象实现接口 String类 接口继承 抽象类继承实体类 自定义异常
/* * 栈(stack):主要保存基本类型(或者叫内置类型)(char、byte、short、 *int、long、 float、double、boolean)和对象的引用,数据可以共享,速度仅次于 * 寄存器(register),快于堆。堆(heap):用于存储对象。 */ &
让sqlmap文件 "继承" 起来
bijian1013
java ibatis sqlmap
多个项目中使用ibatis , 和数据库表对应的 sqlmap文件(增删改查等基本语句),dao, pojo 都是由工具自动生成的, 现在将这些自动生成的文件放在一个单独的工程中,其它项目工程中通过jar包来引用 ,并通过"继承"为基础的sqlmap文件,dao,pojo 添加新的方法来满足项
精通Oracle10编程SQL(13)开发触发器
bijian1013
oracle 数据库 plsql
/*
*开发触发器
*/
--得到日期是周几
select to_char(sysdate+4,'DY','nls_date_language=AMERICAN') from dual;
select to_char(sysdate,'DY','nls_date_language=AMERICAN') from dual;
--建立BEFORE语句触发器
CREATE O
【EhCache三】EhCache查询
bit1129
ehcache
本文介绍EhCache查询缓存中数据,EhCache提供了类似Hibernate的查询API,可以按照给定的条件进行查询。
要对EhCache进行查询,需要在ehcache.xml中设定要查询的属性
数据准备
@Before
public void setUp() {
//加载EhCache配置文件
Inpu
CXF框架入门实例
白糖_
spring Web 框架 webservice servlet
CXF是apache旗下的开源框架,由Celtix + XFire这两门经典的框架合成,是一套非常流行的web service框架。
它提供了JAX-WS的全面支持,并且可以根据实际项目的需要,采用代码优先(Code First)或者 WSDL 优先(WSDL First)来轻松地实现 Web Services 的发布和使用,同时它能与spring进行完美结合。
在apache cxf官网提供
angular.equals
boyitech
AngularJS AngularJS API AnguarJS 中文API angular.equals
angular.equals
描述:
比较两个值或者两个对象是不是 相等。还支持值的类型,正则表达式和数组的比较。 两个值或对象被认为是 相等的前提条件是以下的情况至少能满足一项:
两个值或者对象能通过=== (恒等) 的比较
两个值或者对象是同样类型,并且他们的属性都能通过angular
java-腾讯暑期实习生-输入一个数组A[1,2,...n],求输入B,使得数组B中的第i个数字B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]
bylijinnan
java
这道题的具体思路请参看 何海涛的微博:http://weibo.com/zhedahht
import java.math.BigInteger;
import java.util.Arrays;
public class CreateBFromATencent {
/**
* 题目:输入一个数组A[1,2,...n],求输入B,使得数组B中的第i个数字B[i]=A
FastDFS 的安装和配置 修订版
Chen.H
linux fastDFS 分布式文件系统
FastDFS Home:http://code.google.com/p/fastdfs/
1. 安装
http://code.google.com/p/fastdfs/wiki/Setup http://hi.baidu.com/leolance/blog/item/3c273327978ae55f93580703.html
安装libevent (对libevent的版本要求为1.4.
[强人工智能]拓扑扫描与自适应构造器
comsci
人工智能
当我们面对一个有限拓扑网络的时候,在对已知的拓扑结构进行分析之后,发现在连通点之后,还存在若干个子网络,且这些网络的结构是未知的,数据库中并未存在这些网络的拓扑结构数据....这个时候,我们该怎么办呢?
那么,现在我们必须设计新的模块和代码包来处理上面的问题
oracle merge into的用法
daizj
oracle sql merget into
Oracle中merge into的使用
http://blog.csdn.net/yuzhic/article/details/1896878
http://blog.csdn.net/macle2010/article/details/5980965
该命令使用一条语句从一个或者多个数据源中完成对表的更新和插入数据. ORACLE 9i 中,使用此命令必须同时指定UPDATE 和INSE
不适合使用Hadoop的场景
datamachine
hadoop
转自:http://dev.yesky.com/296/35381296.shtml。
Hadoop通常被认定是能够帮助你解决所有问题的唯一方案。 当人们提到“大数据”或是“数据分析”等相关问题的时候,会听到脱口而出的回答:Hadoop! 实际上Hadoop被设计和建造出来,是用来解决一系列特定问题的。对某些问题来说,Hadoop至多算是一个不好的选择,对另一些问题来说,选择Ha
YII findAll的用法
dcj3sjt126com
yii
看文档比较糊涂,其实挺简单的:
$predictions=Prediction::model()->findAll("uid=:uid",array(":uid"=>10));
第一个参数是选择条件:”uid=10″。其中:uid是一个占位符,在后面的array(“:uid”=>10)对齐进行了赋值;
更完善的查询需要
vim 常用 NERDTree 快捷键
dcj3sjt126com
vim
下面给大家整理了一些vim NERDTree的常用快捷键了,这里几乎包括了所有的快捷键了,希望文章对各位会带来帮助。
切换工作台和目录
ctrl + w + h 光标 focus 左侧树形目录ctrl + w + l 光标 focus 右侧文件显示窗口ctrl + w + w 光标自动在左右侧窗口切换ctrl + w + r 移动当前窗口的布局位置
o 在已有窗口中打开文件、目录或书签,并跳
Java把目录下的文件打印出来
蕃薯耀
列出目录下的文件 文件夹下面的文件 目录下的文件
Java把目录下的文件打印出来
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2015年7月11日 11:02:
linux远程桌面----VNCServer与rdesktop
hanqunfeng
Desktop
windows远程桌面到linux,需要在linux上安装vncserver,并开启vnc服务,同时需要在windows下使用vnc-viewer访问Linux。vncserver同时支持linux远程桌面到linux。
linux远程桌面到windows,需要在linux上安装rdesktop,同时开启windows的远程桌面访问。
下面分别介绍,以windo
guava中的join和split功能
jackyrong
java
guava库中,包含了很好的join和split的功能,例子如下:
1) 将LIST转换为使用字符串连接的字符串
List<String> names = Lists.newArrayList("John", "Jane", "Adam", "Tom");
Web开发技术十年发展历程
lampcy
android Web 浏览器 html5
回顾web开发技术这十年发展历程:
Ajax
03年的时候我上六年级,那时候网吧刚在小县城的角落萌生。传奇,大话西游第一代网游一时风靡。我抱着试一试的心态给了网吧老板两块钱想申请个号玩玩,然后接下来的一个小时我一直在,注,册,账,号。
彼时网吧用的512k的带宽,注册的时候,填了一堆信息,提交,页面跳转,嘣,”您填写的信息有误,请重填”。然后跳转回注册页面,以此循环。我现在时常想,如果当时a
架构师之mima-----------------mina的非NIO控制IOBuffer(说得比较好)
nannan408
buffer
1.前言。
如题。
2.代码。
IoService
IoService是一个接口,有两种实现:IoAcceptor和IoConnector;其中IoAcceptor是针对Server端的实现,IoConnector是针对Client端的实现;IoService的职责包括:
1、监听器管理
2、IoHandler
3、IoSession
ORA-00054:resource busy and acquire with NOWAIT specified
Everyday都不同
oracle session Lock
[Oracle]
今天对一个数据量很大的表进行操作时,出现如题所示的异常。此时表明数据库的事务处于“忙”的状态,而且被lock了,所以必须先关闭占用的session。
step1,查看被lock的session:
select t2.username, t2.sid, t2.serial#, t2.logon_time
from v$locked_obj
javascript学习笔记
tntxia
JavaScript
javascript里面有6种基本类型的值:number、string、boolean、object、function和undefined。number:就是数字值,包括整数、小数、NaN、正负无穷。string:字符串类型、单双引号引起来的内容。boolean:true、false object:表示所有的javascript对象,不用多说function:我们熟悉的方法,也就是
Java enum的用法详解
xieke90
enum 枚举
Java中枚举实现的分析:
示例:
public static enum SEVERITY{
INFO,WARN,ERROR
}
enum很像特殊的class,实际上enum声明定义的类型就是一个类。 而这些类都是类库中Enum类的子类 (java.l