
自动化测试
文章平均质量分 68
自动化测试
CrissChan
前京东测试架构师、阿里云MVP、华为云MVP、中国商业联合会互联网应用工作委员会智库专家、中关村智联软件服务业质量创新联盟软件测试标准化技术委员会委员、极*客时间命题专家,极*客时间《接口测试入门课》作者、《研发效能实践指南》副主编、拉钩教育《软件测试第一课》作者,NCUT软件体系结构实验室特邀企业导师、《接口测试方法论》《持续测试》《京东质量团队转型实践》图书作者、《测试敏捷化白皮书》特邀编委、《DB51T1998-2015移动智能终端应用软件(APP)产品通用技术要求及测试规范》编委、多次受邀参与TID、NCTS、MAD、MPD、TICA、DevOpsDys等技术峰会以及参出品人。
展开
-
Allure 报告数据存储结构
Allure的报告的下有一个data目录,里面存储了全部展示的数据。data目录下面有两种类型的文件一类是csv,一类是json,两个类型的文件中同名的文件数据是一样的,只是不同的展示方法。我们就按照json格式的数据介绍(这里面allure不同版本之间有可能有稍微的差异,但是整体改动不大)。PS:如果要打开本地的allure的html报告,allure open我们就按照html格式报告的菜单顺序进行介绍。原创 2025-03-24 10:58:24 · 486 阅读 · 0 评论 -
Jacoco的XML报告详解
使用jacococli完成jacoco测试报告生成后,会看到有一个.xml结尾的文件,这个就是xml格式的覆盖率报告。除了xml还有csv、html格式的报告,本文进介绍xml报告。原创 2024-09-11 17:39:54 · 1088 阅读 · 0 评论 -
程序调用大模型返回结构化输出(JSON)
大家很多时候使用langchain、llamaindex等大模型框架的时候,一直很头疼的就是大模型的answer不一定就按照约定的结构化数据返回,那么下面就以讯飞的spark为例解决这个问题。原创 2024-08-08 15:41:50 · 742 阅读 · 0 评论 -
AI的IDE:Cursor配置虚拟python环境(conda)
Cursor是一个AI的IDE,是从VSCode源代码中fork出来的,专注于和AI一起Coding而生。https://www.cursor.com/是官方地址。最近开始逐渐的试用Cursor,之前一直是VSCode的重度用户,python技术栈,因此Anaconda使用也很频繁。试用中发现Cursor和Anaconda之间的配合没有那么平滑,为了解决这个问题做了如下的一些记录。原创 2024-08-07 15:17:38 · 21162 阅读 · 5 评论 -
Testability的论证
原本只是在一本书上看到Testability的介绍,书中对于Testability的介绍使我对Testability中文翻译可测试性差生了一些疑惑,丛书中的描述中我更倾向于理解其是易测试性,而不是可测试性。因此就开始了翻阅testablity的资料,追溯下来可测试性的翻译确实一点问题也没有,只是书上的描述有点问题。文中很多英文原文的准苏,但是我英文不太好,翻译过来感觉很别扭,我就直接引用了原文。原创 2024-07-10 14:46:47 · 847 阅读 · 0 评论 -
一次利用大模型完成Jacoco code coverage报告合并的尝试
最近有一些需要合并jacoco报告的需求,这个合并远远超出了jacococli提供的mergeapi的能力,所以尝试用大模型来解决该问题。原创 2024-07-05 10:47:24 · 685 阅读 · 0 评论 -
Jacoco的覆盖率原理
虽然JVMTI提供了强大的功能,但是需要注意的是,并非所有的JVM实现都支持JVMTI的所有特性。Probe探针在不影响原来的指令执行流程的前提下插入到两个指令之间,每一个探针都插入在程序的control flow的边中,如果探针被执行了,我们可以确定这个边上的代码就会被执行。JUMP(conditional):反转操作码的语义,然后在条件跳转指令后加探针,然后在探针后添加GOTO指令跳转到原本的位置(这是因为字节码是顺序执行的,所以需要添加一个goto,完成无条件跳转的。原创 2024-07-03 16:14:54 · 380 阅读 · 0 评论 -
线上数据线下使用的数据处理方法:数据脱敏
在信息技术领域,敏感数据是指那些一旦被泄露或滥用,可能会对个人隐私、企业利益或国家安全造成严重影响的信息。这类数据通常包括但不限于:个人信息:如姓名、身份证号、联系方式、住址等。财务信息:如银行账户、信用卡号、交易记录等。商业机密:如产品设计、市场策略、研发资料等。数据脱敏(DataMasking)就是针对敏感信息进行处理的技术,通过对敏感数据的清晰、变形等方法保护了敏感信息的保密性,同时又能够利用这些信息进行质量保证工作的支持。原创 2024-06-26 11:24:05 · 233 阅读 · 0 评论 -
性能测试中关注的指标
这里有这么的的指标,但是并不是每一次性能测试都需要关注,应该依据业务模型、系统实现方式进行选择。原创 2024-06-26 10:09:25 · 356 阅读 · 0 评论 -
流量回放的数据隔离
流量回放的数据隔离是回放得以实施的重要部分,如果没有做好数据隔离,回放后对于数据的污染会是一个灾难性的后果。那么除了上面说的隔离方案外,要成功实施流量回放还需要完成一些外部依赖系统的解耦,还有一些内部资格验证的逻辑约束,这是因为有时候流量回放是通过录制后放大的流量进行的回放,因此有些用户、优惠券、活动资格等都是有约束的,这些对于流量回放标记的数据应该有一些豁免权。原创 2024-06-20 10:43:16 · 266 阅读 · 0 评论 -
成功注册Google的SerpAPI实现AI Agent的tool
SerpApi 是一个专门针对Google搜索结果页面(SERP)的API服务。通过这个API,我们可以获取到Google搜索的各种数据,包括但不限于搜索结果、位置、时间等信息。原创 2024-06-11 17:22:23 · 887 阅读 · 0 评论 -
Ollama完成本地模型的运行
Ollama 是一个开源的大型语言模型(LLM)服务工具,它允许用户在本地运行和使用各种大型语言模型。Ollama 提供了一个命令行界面,支持多种流行的模型,如 Llama 3、Qwen 1.5、Mixtral、Gemma 等,并且用户可以根据自己的需求定制和创建模型。Ollama能够实现模型的本地运行,降低了模型开发的复杂度,无聊时AI开发的高手还是新人都可以快速使用Ollama完成模型本地运行。同时可以识别Nvidia、AMD的GPU,AVX、AVX2指令集的CPU。原创 2024-04-25 13:54:01 · 1786 阅读 · 0 评论 -
通过Llama Index实现大模型的SQL生成的三种方法详解
llamaindex提供的三种text2sql的方法真的不同的问题都有其更加擅长的方向,并没有一个可以全盘解决问题的技术方案,所以具体选择哪一种还是需要根据面对的问题而定。原创 2024-04-10 10:46:46 · 1295 阅读 · 0 评论 -
Python设置临时环境变量
临时环境变量设置代码原创 2024-03-29 16:58:10 · 373 阅读 · 0 评论 -
解决github Push rejected报错 remote: error: GH013: Repository rule violations found for refs/heads/maste
在push代码到master的时候Github 报错 remote: error: GH013: Repository rule violations found for refs/heads/main这次是因为Github的保护机制引起rejected。原创 2024-03-20 09:56:42 · 5955 阅读 · 9 评论 -
LLM的测试工具:LaVague平替成国内大模型
LaVague 通过LLM将自然语言转换Selenium的代码引擎,用户或其他人工智能轻松实现自动化。原创 2024-03-19 22:51:26 · 575 阅读 · 0 评论 -
ChatGPT使用的SSE协议接口怎么做测试
SSE最近突然的被很多人关注还有一个主要原因就是ChatGPT等大模型的聊天类系统就采用了SSE协议。在使用ChatGPT的时候,输入Prompt后的反馈是逐渐的显示在聊天区域的,这部分的实现就是主要基于EventStream的事件流,类似打字机一样输出的,这就是SSE的实现,其实类似一下股票行情推送、期货行情推送都可以使用SSE实现。原创 2024-03-06 17:52:48 · 587 阅读 · 0 评论 -
破解研发效能度量悖论
在研发效能度量的探讨中,我们面对的不仅是团队成员各自的期望和小心思,还有度量模型本身可能引发的悖论。管理人员渴望数据来评估团队表现,而工程师则希望保持个人不受歧视。这种差异导致了度量模型的设计存在一定的困境,容易使得团队在追求表面上的优秀成绩的同时忽视了实际的研发能力提升。为了短期避免悖论的出现,引入“测谎”指标成为一种方法。然而,这种方法仍然是治标不治本,因为它未能解决度量模型本身的信度和效度问题。我认识到度量模型的信度和效度是关键的。原创 2024-01-29 17:39:20 · 343 阅读 · 0 评论 -
技术债:千里之堤毁于蚁穴
最近读了一篇论文《Prevalence, Common Causes and Effects of Technical Debt: Results from a Family of Surveys with the IT Industry》,论文很长,主要是通过调研了12个国家和地区的开发人员,给出一些技术债务的分析。原创 2024-01-24 09:59:20 · 166 阅读 · 0 评论 -
通过Langchain实现大模型完成测试用例生成的代码(可集成到各种测试平台)
代码中使用的是讯飞spark3.0版本,其中版本在的控制已经封装到了langchain对应的讯飞的iflytek的类中,可以在调用的时候显示控制,默认是spark2.0版本。原创 2023-12-04 14:27:02 · 1702 阅读 · 4 评论 -
解决VSCode按住Ctrl(or Command) 点击鼠标左键不跳转的问题(不能Go to Definition)
往往在升级了VSCode以后,就会出现按住Ctrl(or Command) 点击鼠标左键不跳转的问题,这个问题很常见。原创 2023-12-01 14:22:04 · 50782 阅读 · 13 评论 -
Python 中只有下划线“_“的变量
" 不管是单独作为变量名或者作为变量名的前缀或者后缀,是有特殊含义的。在python3中,单下划线 "print(_)就可以打印出来这个变量的内容了。也表示Python REPL 中最近一个表达式额结果。Python中,下划线 “原创 2023-09-25 18:19:05 · 414 阅读 · 0 评论 -
AI 的测试:模型评估的常用指标
模型是在大量的数据集上训练而来的,无论一个模型是从零训练的还是基于某一个模型,通过微调方法得到的,靠人工评价模型的效果都是异常困难的。那么要想客观的、自动化的评价一个LLM模型,就需要能够选择正确评估模型效果的指标或者基准测试,来客观和自动化的完成评价,从而正确的反馈模型的效果。BLEU SCORE 也是如上指标的一个应用,是n-gram计算精度指标的进行的再计算,要得到BLEU SCORE 需要对一系列的不同大小n-gram的精度指标再进行平均值的求解。F1分数越高,说明模型的效果越好。原创 2023-08-18 17:51:46 · 1080 阅读 · 0 评论 -
OpenAI如何让ChatGPT遵守了伦理道德的底线
AI的伦理道德是探讨AI带来的伦理道德问题及风险、研究解决AI伦理问题、促进AI向善、引领人工智能健康发展的一个多学科研究领域。AI的伦理领域所涉及的内容非常丰富,是一个哲学、计算机科学、法律、经济等学科交汇碰撞的领域。原创 2023-05-29 13:29:48 · 3029 阅读 · 0 评论 -
性能测试的时机
史记·鹖冠子》记载,魏文王问扁鹊:“子昆弟三人其孰最善为医?”扁鹊曰:“长兄最善,中兄次之,扁鹊最为下。”魏文王曰:“可得闻邪?”扁鹊曰: “长兄于病视神,未有形而除之,故名不出于家。中兄治病,其在毫毛,故名不出于闾。若扁鹊者,镵(chán)血脉,投毒药,副肌肤,闲而名出闻于诸侯。所以,APM是事后,性能测试是事前。性能测试是“治未病”,否则APM发现问题也是性能缺陷的逃逸,也会造成不良质量成本。原创 2023-05-17 13:24:23 · 484 阅读 · 0 评论 -
10 Model Card 保证AI模型伦理道德的好工具
Model Card就像机器学习模型的档案一样,记录了这个模型是为什么建立的,考虑了为什么人做什么样的服务,有什么样的性能表现等等内容信息,一些比较常出现在模型卡上的内容如下有模型详情、使用预期、影响因素、指标、评价数据、训练数据、质量分析、伦理道德影响因素以及其他建议和注意事项。原创 2023-05-09 18:08:14 · 539 阅读 · 0 评论 -
5 AI道德风险之偏见风险测试
可见AI系统的偏见会引起AI系统的反馈出现偏差,从而给出了存在不公平、歧视性的决策反馈,这些反馈就会直接影响社会造成负面的影响,尤其是随着AI系统逐渐的获取了人了的信任后,人类的生活、工作都过度依赖AI系统以后,那么这样的反馈就更加的危害公共安全。为了能够有效避免偏见风险,在AI系统发布之前需要进行指定的用户测试,将目标用户的一些典型代表划入用户验收的团队,进行验收测试,从而能够充分的屏蔽执行验收测试的测试人自身的一些偏见性问题引起的测试结论不可信的结果。原创 2023-04-21 18:38:47 · 634 阅读 · 0 评论 -
如何测试一个AI系统?
如上是智能系统和非智能系统测试中的最显著不同的部分以及对应的方法和实践,但是针对文章开头的四个主要领域的智能系统还是有一些显著差异的,这些显著差异是应用领域的场景不同所导致的,我们会在后续继续学习和研究。原创 2023-03-16 23:56:23 · 3768 阅读 · 4 评论 -
Python利用Moivepy给视频添加背景音乐源代码
【代码】Python利用Moivepy给视频添加背景音乐源代码。原创 2022-12-29 16:20:32 · 1282 阅读 · 0 评论 -
TF-IDF算法
缺点是有时候用词频来衡量文章中的一个词的重要性不够全面,有时候重要的词出现的可能不够多,而且这种计算无法体现位置信息,无法体现词在上下文的重要性。TF*IDF得到一个TF-IDF的值,某个词在文章中的TF-IDF越大,那么一般而言这个词在这篇文章的重要性会越高,所以通过计算文章中各个词的TF-IDF,由大到小排序,排在最前面的几个词,就是该文章的关键词。所以,自动提取关键词的算法就很清楚了,就是计算出文档的每个词的TF-IDF值,然后按降序排列,取排在最前面的几个词。原创 2022-11-22 14:03:16 · 853 阅读 · 0 评论 -
正交试验测试用例设计及工具推荐
在科研和生产实践中,人们往往要做许多次实验来进行某项研究。实验条件一般包括很多因素,当因素的值不同时,实验的结果也不一样。如果想把每个因素的每个值都要实验一遍,总实验数就等于各因素的值的个数的乘积,而这个数往往很大,超过了可接受的成本。例如,假设某个实验由A,B,C,D四个因素,每个因素都有10个不同的取值,那么如果想把每个因素都考虑到,我们需要做 101010*10=10000次实验。为了减少实验数目,我们必须选出那些最有代表性的例子。原创 2022-11-16 11:26:37 · 1755 阅读 · 0 评论 -
MacOS和Selenium报chromdriver 无法验证开发者解决方案
MacOS和Selenium报chromdriver 无法验证开发者解决方案原创 2022-11-14 11:21:15 · 422 阅读 · 0 评论 -
测试智能化系统
测试智能化系统是一个既有传统方法又有特殊的一些方法,但是无论是哪种方法,都还是站在测试视角在考虑问题。原创 2022-11-02 17:58:39 · 888 阅读 · 0 评论 -
服务虚拟化HoverFly入门扫盲
服务虚拟化技术能够用来模拟服务依赖项的行为。它除了可以帮助我们解决外部服务级别依赖所导致一些问题以外,还可以帮助我们测试不受控的服务以及能够解决引起不稳定的外部因素。例如无法与外部服务器通信、外部依赖服务出现了一些问题、公共API访问次数限制、公共APi访问速度限制等等。原创 2022-10-24 13:11:48 · 1240 阅读 · 0 评论 -
持续测试成熟度模型
持续测试成熟度模型原创 2022-10-08 12:04:06 · 513 阅读 · 1 评论 -
持续测试破解自动化测试的行业谜题
谁说自动化测试发现不了BUG?每一个质量保障团队对自动化的投入都会面领着管理者价值拷问,例如自动化测试发现了多少BUG,自动化测试能不能发现BUG等一系列的问题。虽然任何一个内行人都知道自动化测试是必不可少的环节,但是却又很难回答如上的一些问题。原创 2022-09-29 15:32:07 · 404 阅读 · 0 评论 -
软件质量模型详解
基于经验的层次模型由一些质量因素、质量准则和质量度量等组成,这也导致了只能表达质量属性之间的正面的关系,但是对于一些反面的、更复杂的关系却没有能力表达出来基于经验的关系模型能够表达质量属性之间关系,这些关系有可能覆盖正面、反面、中立的关系,但对于一些更为复杂的关系则同样无法表达。原创 2022-09-15 11:57:28 · 1655 阅读 · 0 评论 -
持续测试的实践方法
持续测试并不是什么全新的测试技术、测试方法,而是一种测试实践方法。持续测试侧重于业务风险并提供有关软件是否可以被发布的决策基础。“自动化测试对于连续测试至关重要,但它并非全部。自动化测试旨在生成一组与用户故事或应用需求相关的通过/失败数据检查点。而持续测试侧重于业务风险并提供有关软件是否可以被发布的决策基础。除了将测试用例自动化,持续测试还包括了诸如验证业务风险,应用服务虚拟化和状态化测试数据管理以稳定持续测试;在每个迭代中使用探索性测试来尽早发现阻碍性问题等实践。它不单是意味着使用更多的不同的工具。它要求原创 2022-09-15 11:48:18 · 535 阅读 · 0 评论 -
智能化测试探索
随着项目实践的不断发展,在质量保障过程中,测试工程会不断增大接口测试的测试深度和测试广度,往下逐渐覆盖一些公共接口的单元测试内容,往上则逐渐覆盖应该由UI层保障的业务逻辑测试,这么做的主要目的,就是为了更好地完成质量保障工作,交付一个可靠的、高质量的项目,因此分层测试模型逐渐的变成图1的橄榄核模型。智能化测试就是解决了研发效能和质量效能而出现的,智能化测试可以完成测试逻辑的建立、测试数据流的设计,同时也支持了后续的测试执行、测试结果收集和分析。通过的自动生成算法就会形成如下的一棵树,如图4所示。原创 2022-09-15 11:40:57 · 641 阅读 · 0 评论 -
测试团队技术转型实践方法
随着DevOps广泛落地,持续集成、持续交付和持续部署已经在各类团队中有了各自特色的实践方式,大大缩短了从需求提出到交付客户的时间周期。但是在高效的交付过程中,质量保证过程却变成了快速交付的掣肘。传统的手工测试已经无法满足快速交付的要求了,那么要解决耗时较长的手工测试和快速交付之间的矛盾,利用测试技术提升测试效率是目前最为有效的方法。这里面所说的测试技术包含了自动化测试、测试平台以及智能化测试,那么这些测试技术和测试团队又如何应用才能达到一个有效的提高质量效能的作用呢?原创 2022-09-14 20:56:33 · 859 阅读 · 0 评论