软件测试
文章平均质量分 80
软测小生
微信公众号【软测小生】,分享软件(自动化)测试相关的技术和学习资源,内容不定时更新,包括但不限于功能、接口、自动化、性能、安全、测试开发、测试框架搭建等。
展开
-
软件测试的7个基本原则
毕生所学,得到最重要的东西是一种以原则为基础的生活方式,是它帮助我发现真相是什么,并据此如何行动。原创 2020-10-22 18:00:00 · 11736 阅读 · 1 评论 -
自动化测试框架类型,你知道几种?此处介绍5种比较常见的
每一个测试人员都应该了解每种框架的优缺点,以帮助你的团队更好地确定最适合的测试的框架,以达到事半功倍。原创 2020-10-22 13:59:11 · 5363 阅读 · 1 评论 -
大厂的Java题,你遇到过吗?你会吗?
接口测试基础知识HTTP和HTTPS的区别,8种HTTP请求方式:GET/POST/DELETE……你真的懂接口测试基础之TCP、UDP和TCP/IP协议组吗?面试中问到Linux命令,...原创 2020-10-16 18:00:00 · 411 阅读 · 1 评论 -
【PyMuPDF和pdf2image】Python将PDF转成图片
前言:在最近的测试中遇到一个与PDF相关的测试需求,其中有一个过程是将PDF转换成图片,然后对图片进行测试。粗略的试了好几种方式,其中语言尝试了Python和Java,总体而言所找到的Python方式相对比Java更快一些,更简单一些。下面首先分享一下Python将PDF转换成图片,Java+PDFBox将PDF转成图片需求:我需要先将PDF转换成为PNG图片,并截取图片的一部分存储,然后...原创 2019-08-03 16:19:46 · 35940 阅读 · 33 评论 -
Cypress与TestCafe WebUI端到端测试框架Demo
近期接触了Cypress和TestCafe,两个测试框架都基于Node.js,都不再使用Selenium+WebDriver,而且开箱即用,非常轻量级原创 2020-07-06 08:00:00 · 812 阅读 · 0 评论 -
Grafana+Influxdb(Prometheus)+Jmeter搭建可视化性能测试监控平台
连接EC2实例安装Docker更新实例上已安装的程序包和程序包缓存sudo yum update -y安装最新的Docker Community Edition程序包sudo amazon-linux-extras install docker -y启动Dockers服务sudo service docker start将ec2-user 添加到docker组,以便...原创 2020-04-19 19:53:57 · 2675 阅读 · 0 评论 -
教你如何编写测试用例(Step-by-Step)
本文首发于 微信公众号: 软测小生1、测试用例(test cases)的概念是什么?测试用例是一组有条件的用例,QA可以依靠这些条件来确定应用程序、软件系统或某些功能是否按预期执行。测试用例是QA执行的单个可执行测试。它指导QA完成测试的步骤。你可以将测试用例看作是一组按部就班的指令,以验证某些功能是否符合需求。2、设计测试用例的步骤Step 1:定义测试流程目标首先,你需要了解软件需...原创 2020-04-03 18:50:48 · 7627 阅读 · 1 评论 -
聊聊2020年可替代Selenium的测试框架Top15
这里写自定义目录标题TestCraft2、mabl3、HeadSpin4、Squish5、TestCafe Studio6、Ranorex7、Parasoft Selenic8、Subject79、 Cypress10、iMacros11、Cucumber12、UFT (Unified Functional Test)13、Serenity14、IBM Ration Functional Test...原创 2020-04-02 14:56:28 · 2980 阅读 · 4 评论 -
跳槽季,你该如何写简历,简历准备好了吗?
上一篇文章我们聊了下如何提升:《疫情之下,做测试(技术)的你应该如何提升自己?》那接下来是不是得聊一聊,简历的事,毕竟或早或晚,很多人都会面临找工作或者换工作。将从3个方面给大家做一个梳理1. 为什么要写简历,一份合格简历的意义和价值2. 含金量高的简历,应该具备哪些特质3. 给大家一些我自己的建议和要避免的坑简历的意义该文源自:架构之美,已获得授权。史上最...原创 2020-03-31 12:19:30 · 1595 阅读 · 0 评论 -
疫情之下,做测试(技术)的你应该如何提升自己?
值得庆幸的是,从数据上来看,咱们国家的疫情已经好转了很多;但是相信你还是听说了一些公司有辞退员工的,有降薪的,有2020年不涨薪的,有升职延期的,还有的公司倒闭的,等等,好惨。总之,在这样的比较紧张的大环境下,竞争愈加激烈,各企业需要的人少肯定会做出精简,需要的是技术能力更强的人,疫情过后肯定会进行新一轮的扩张,要发展也就需要人,所以不仅仅是疫情期间,我们得时刻准备着,毕竟技术的沉淀是日积月累,...原创 2020-03-31 12:12:44 · 943 阅读 · 0 评论 -
JMeter性能测试——利特尔定律在工作负载模型中的应用
利特尔定律(Little’s law)应该是最著名的排队理论之一!让我们看看如何将其用于性能测试。利特尔定律(Little’s law)稳定系统中的长期平均客户数(N),等于长期平均有效抵达率(λ) 乘以客户在系统中平均花费的时间(W);可以用代数表达式表示为:N =λW。利特尔定律是普遍适用的,它可以应用于存在队列的任何地方,从零售商店到CPU /应用服务器。假设售票柜台中用户平均花...原创 2019-11-20 10:43:43 · 1072 阅读 · 0 评论 -
软件混沌工程原则以及应用介绍(PRINCIPLES OF CHAOS ENGINEERING)
Chaos Engineering(混沌工程),相信搞互联网的或多或少都听过,Netflix 发明了 Chaos Monkey,经过社区的发展回馈,慢慢形成了 Chaos Engineering。混沌工程是在分布式系统上进行实验的学科, 目的是建立对系统抵御生产环境中失控条件的能力以及信心。混沌工程原文地址:https://github.com/wizardbyron/principles...原创 2019-10-17 09:45:23 · 1780 阅读 · 0 评论 -
Excel里面自动获取当前时间
最近在做API的测试,URL增加了新的日期参数,本来应该指向当前月份,可是上个月的数据要在当月20号才有(9月的数据要在10月20号才有结果),现在10月就需要用到8月的数据。临时解决方案是告诉客户在URL里面加个参数:date=2019-8对应的API测试也要加个时间参数,但是不想写死,每次改的麻烦。查了一下,Excel获取时间有以下用法:获取上两个月时间:=TEXT(EDATE(NOW...原创 2019-10-15 10:38:04 · 9627 阅读 · 0 评论 -
Jmeter配置修改
公号:软测小生(ruancexiaosheng)1、修改物理内存 使用jmeter进行压力测试时遇到一段时间后报内存溢出outfmenmory错误,导致jmeter卡死了怎么办呢? 1、windows环境下,修改jmeter.bat:set HEAP=-Xms512m -Xmx4000mset NEW=-XX:NewSize=256m -XX:MaxNewSize=1024m改为:set HEAP...转载 2018-04-11 14:20:00 · 4434 阅读 · 0 评论 -
如何快速写出Json Schema,校验Json Schema
本文首发于微信公众号: 【软测小生】得到一个Json文件,如何快速的去测试呢?难道是一个个节点的去验证吗?那显然效率太低了。 一般推荐使用Json Schema(一种Json的数据结构定义)去校验。对于JsonSchema,有很多种方式:可以自己一个个节点的写,可以使用生成工具,或者在线生成工具生成。那么如何快速的根据Json内容 写出一个JsonSchema呢?我最近在做Json相...原创 2019-06-26 11:14:11 · 7611 阅读 · 3 评论 -
python3.X报错"Undefined variable from import: xfeatures2d"
python项目中,第三方包引入时,Eclipse默认会把一些包定为错误的,比如错误如下:“undefined variable from import...” 其实是可以运行的,可是报红色错误提示,解决方法:Window >> Preferences >>PyDev >>Editor >> Code Analysis >> Und...原创 2019-07-05 11:01:46 · 1071 阅读 · 0 评论 -
性能测试工具Top5-2019
首发于微信公众号【软测小生】本文来介绍一下2019年5大性能测试工具:WebLoad Katalon Studio Apache JMeter NeoLoad LoadRunner在实际应用中,软件应用程序经常会遇到一些问题,如多个用户同时使用时运行缓慢、不同操作系统之间的不一致性和可用性差。为了解决这些问题,生成了一个方法:性能测试。这种测试类型的主要目的是向利益相关...原创 2019-07-15 16:35:54 · 1743 阅读 · 0 评论 -
2019年软件测试行业的3个最新研究||来自美国最具权威IT研究机构Gartner
来自美国最具权威IT研究机构Gartner。Gartner (高德纳,又译顾能公司,NYSE: IT and ITB)全球最具权威的IT研究与顾问咨询公司,它为有需要的技术用户来提供专门的服务,并且一直是客户评估不同行业产品的可靠参考来源。本文将简要介绍软件行业的三个最新研究,为你提供对这个业务领域及其产品的更多了解。翻译 2019-10-10 15:14:56 · 920 阅读 · 0 评论 -
API测试工具Top 10 你都用过吗?
2018年API测试工具Top10本文首发于微信公众号: 【软测小生】API测试(应用程序编程接口测试)是一种软件测试类型,它着重于确定所开发的API是否满足关于应用程序的功能、可靠性、性能和安全性的预期。根据谷歌Trends,在过去几年里,对API/Web服务测试的兴趣一直在稳步增长。Smartbear 2017年对5000多名软件专业人士的研究显示,在未来两年内,将超过50%的测试自动...翻译 2019-06-11 13:05:46 · 17210 阅读 · 3 评论 -
Selenium版本与ChromeDriver版本
java.lang.NoSuchMethodError:org.testng.TestRunner.addListener(Ljava/lang/Object;)Vatorg.testng.remote.support.RemoteTestNG6_9_10$1.newTestRunner(RemoteTestNG6_9_10.java:32)上面这个错误是因为TestNG版本不匹配,选...原创 2019-05-23 14:22:35 · 2428 阅读 · 0 评论 -
使用Selenium测试网页加载时间(Selenium网站性能测试)
引文原文以及视频Demo地址:https://www.radview.com/selenium-performance-testing/WebLOAD与用于Web浏览器应用程序的开源测试工具Selenium的集成,使您可以将执行实际活动的真实Web浏览器集成到您的性能测试场景中,并准确识别问题。使用集成,您可以使用WebLOAD的虚拟用户来压缩系统以生成负载,同时运行用于测量实际客户端行为...翻译 2019-04-09 15:36:57 · 5838 阅读 · 0 评论 -
Selenium切换窗口driver.switchTo().window(handle)
今天继续深入Selenium 切换窗口的学习。当测试页面同时出现2个或者以上窗口时候,而且新打开的window没有namem,可以使用driver.switchTo().window(handle)来进行切换,直接上代码:import java.util.Iterator;import java.util.Set;import org.openqa.selenium.NoSuchWindowE...原创 2018-06-08 12:47:45 · 25425 阅读 · 8 评论 -
使用TestNG listener实现Case失败重跑功能
前提概要Case失败了,想自动再跑一遍确认到底是不稳定还是真bug? 这可咋整啊?使用testng的listener你得看的懂自动化测试的框架,做过自动化测试,勉强能看懂Java代码。直接先贴张图,(项目结构图):image首先写了两条Case(这里为了测试Retry就没有精心去把内容分开,元素,方法全部都放在test类里面了,实际工作中这是不科学不严谨的),打开百度主页的,并保证能够正常运行的,...原创 2018-05-31 17:29:11 · 1664 阅读 · 0 评论 -
软件测试用例(史上最全软件测试干货)
咚咚咚,桥黑板!注意听讲!今天来点测试干货,纯纯的干货啊,堪称史上最全。今天来发一篇软件测试用例设计时需要关注的点,前辈总结的非常详细,基本上素有的测试点都包含在其中了,纯纯的图片。快下载保存本图吧,遇到写测试用例的时候可以参考一下,这样子写出来的测试用例才会更全面,更具实际意义和价值哦。欢迎关注微信公众号 软测小生 获取更多的测试资源...原创 2018-05-05 16:01:36 · 82802 阅读 · 23 评论 -
自动化测试之Windows计划定时任务命令schtasks及语法
关于schtasks 详细语法可以到微软的官网学习schtasks(博客园)今天突然接触到schtasks这个命令,感觉挺有用的,索性就花点时间学习记录一下。由于我是做自动化测试的,基于Selenium,使用到Selenium Grid, 一台Hub机控制着多台Node机。倘若出现关机,或者要重启Hub和全部的Node就必须手动逐台打开本地文件-->运行Node.bat脚本文件,启动...原创 2018-04-17 23:53:25 · 13169 阅读 · 0 评论 -
自动化测试解决验证码问题(从如何测试验证码中得到启发)
现在的很多网站在登陆时都需要验证码,倘若遇到自动化测试时,怎么解决呢?验证码大概有以下几种:有的是图片验证码:图片上显示数字,汉字,英文数字以及算术题等;有短信/邮箱发送验证码:一般为四位/六位/八位数字验证码;有语音验证码:电话接听语音播报此次验证码;首先来说说我所遇到的项目经验:项目有短信和邮箱两种方式发送8位的数字验证码。短信验证码只做了手工测试,当时想的是短信验证码需要一台手机,并且能够发...原创 2018-04-15 23:38:18 · 17272 阅读 · 3 评论 -
软件测试(手工)方法汇总
软件测试方法种类繁多,记忆起来混乱, 如果把软件测试方法进行分类, 就会清晰很多。 这里参考一些书籍和网上的资料, 把常用的软件测试方法列出来, 让大家对软件测试行业有个总体的看法。从测试设计方法分类测试名称:黑盒测试(Black Box)测试内容:黑盒测试是把测试对象看做一个黑盒子,利用黑盒测试法进行动态测试时,需要测试软件产品已经实现的功能是否符合功能设计要求,不需测试软件产品的内部结构和处理...原创 2018-04-08 19:41:56 · 7088 阅读 · 0 评论 -
Jenkins可用环境变量以及使用方法
微信公众号:ruancexiaosheng在这之前,没有自己配置过Jenkins,都是照猫画虎,Copy原来已经配好的项目过来修修改改,一直想不明白比如BUILD_NUMBER之类的东西是哪来的(其实是没有找到官方说明),很纳闷,今天找到了,然后就详细写一遍,记录学习一下。先说一下变量的使用方法下面的环境变量可以在配置Jenkins Job的时候用得到,可以用在Execute shell、Exec...原创 2018-03-30 12:48:30 · 47041 阅读 · 0 评论 -
如何降低自动化维护成本?
自动化测试的根本目标:测试环境中,保证新增接口功能正确性,原有接口的回归(保证原有接口不被修改“坏”);生产环境中,保证接口层面服务可用,功能的正确性(保证服务挂掉时,及时发现)参考自多则惑少则明面对这个问题,首先要思考的是几个问题是:第一、什么项目适合自动化?业界普遍认为一下几种情况比较适合自动化测试:回归测试为主的支持维护项目,即需要长期做支持维护的产品。或者有过去版本需要长期做支持维护的产品...原创 2018-03-16 16:01:44 · 4497 阅读 · 0 评论 -
使用Chrome浏览器自动下载文件并保存到指定的文件路径(使用Selenium更改Chrome默认下载存储路径)
本文首发于微信公众号: 软测小生上一篇博客写到当不能使用Selenium来操作上传下载接面的时候,我们使用第三方AutoIt来搞定。Java+Selenium2+autoIt 实现Chrome右键文件另存为 功能接下来我我要记录一下今天学的使用Selenium更改Chrome默认下载存储路径,当然前提是在网页上有下载链接直接点击就会下载的,若不更改的话就会保存到Chrome默认下载路径下...原创 2018-07-25 18:02:20 · 32617 阅读 · 6 评论 -
Selenium WebDriver找不到元素的三种情况
今天抽点时间总结下Selenium WebDriver找不到元素的情况。当然这里说的是css或者XPath都没写错,定位准确,也并非使用了不稳定的定位语句。情况一:(StaleElementReferenceException: Message: Element not found in the cache...)页面刷新原因:页面被刷新了。在当前页面找不到这个元素了,但是你自己手...原创 2018-10-26 15:11:37 · 30804 阅读 · 5 评论 -
Selenium启动Chrome插件(Chrome Extensions)
需求描述:在使用WebDriver启动Chrome浏览器时式启动一个默认设置(比较干净)的浏览器,但是我在自动化测试的过程中需要用到插件。实现方法:其一:启动浏览器的同时直接取安装包.crx文件进行安装;1. 下载所需要的插件安装包文件.crx,存储到本地,或者存储到项目文件夹里面。然后代码如下:public class openPDFinFirefox extends...原创 2019-04-12 10:58:07 · 24758 阅读 · 11 评论 -
Java删除文件夹/文件
public static void deleteGeneratedFolder() throws IOException { String folderPath = "dataSource/outputReport"; File file = new File(folderPath); try { FileUtils.deleteDirectory(file);//删除文件...原创 2019-02-22 14:18:47 · 865 阅读 · 0 评论 -
Notepad++快速替换换行符,批量去掉换行符
批量去掉换行符首先小编遇到这样的问题,想把下图左边的内容快速转换成为右边的样式使用。巧妙利用 \r\n,并选中 对反斜杠"\"进行转义,如下:需求:批量删除以“#id”开头所有行的内容删除该文本中所有以"$id": 开头的行,可能有上百行,不能一行行手动删除。解决:正则表达式:"\$id\"\:.*?\r\n首先查找然后替换——>全部替换...原创 2019-01-15 14:52:01 · 16910 阅读 · 0 评论 -
java restAssured Schema验证针对JSON和XML
REST的另一个特性可能是你希望利用REST Assured 来验证Schema。 如果您不熟悉该过程,则实施模式验证可能会非常棘手。本文将指导您为JSON和XML设置REST Assured 验证Schema。不熟悉schema验证? 它基本上确保从端点返回的JSON或XML响应与一组规则匹配。 规则在schema中定义。 规则可以是一个数字在一定范围内,或者一个属性不是null等。如...翻译 2018-12-11 10:51:13 · 1128 阅读 · 2 评论 -
Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.17:test (default-test) on pr
问题所在:配置的参数、路径与实际项目里面的code不一样导致启动maven失败;仔细检查一下远程仓库代码与配置中的名字。[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.17:test (default-test) on project AutomationBasePDF: Execu...原创 2018-11-20 10:25:21 · 6477 阅读 · 0 评论 -
.eslintrc.json配置及规则说明
实际项目中Eslint如下图所示:安装可以全局安装,也可以在项目下面安装。 如下是在项目中安装示例,只需要在 package.json 中添加如下配置,并进行安装:“eslint”: “^4.11.0”配置配置方式有两种,但建议使用文件配置的形式,比较独立,便于维护。 使用文件配置的方式:在项目的根目录下,新建一个名为 .eslintrc 的文件,在此文件中添加一些...原创 2018-11-23 17:58:16 · 12417 阅读 · 0 评论 -
Java读取ZIP文件ZipEntry.getsize()总是返回-1?
解决方法(Code)在文章最后面,耐心看完今天在项目中遇到一个问题,有一个需求是需要验证下载的ZIP文件,解压读取ZIP文件夹内部的文件,文件名称以及大小。网上搜了下,发现,不用解压可以直接读取,代码如下:package com.sd.test.readzip;import java.io.BufferedInputStream;import java.io.Buffered...原创 2018-11-15 19:39:33 · 10565 阅读 · 4 评论 -
性能测试,负载测试,压力测试有什么区别
性能测试,负载测试,压力测试有什么区别性能测试(或称多用户并发性能测试)、负载测试、强度测试、容量测试是性能测试领域里的几个方面,但是概念很容易混淆。下面将几个概念进行介绍。 性能测试(Performance Test):通常收集所有和测试有关的所有性能,通常被不同人在不同场合下进行使用。 关注点:how much和how fast 负载测试(Load Test):负载测试是一种性能测试,指数据在...转载 2018-03-16 10:34:44 · 8037 阅读 · 0 评论