![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
软件测试
文章平均质量分 76
编故事的逗老师
探索测试开发之道
展开
-
搞懂webdriver的底层原理才敢说自己懂自动化
一:Selenium的历史selenium1.x:这个时候的selenium,使用的是JavaScript注入技术与浏览器打交道。需要Selenium RC启动一个Server,将操作Web元素的API调用转化为一段段Javascript,在Selenium内核启动浏览器之后注入这段Javascript。Javascript可以获取并调用DOM的任何元素,自如的进行操作。由此才实现了Selenium的目的:自动化Web操作。这种Javascript注入技术的缺点是速度不理想,而且稳定性大大依赖于Se转载 2021-12-07 20:30:32 · 348 阅读 · 0 评论 -
探索式测试中的几种误区
探索式测试(Exploratory Testing)是敏捷测试中的重要组成部分,其价值与一般性测试如用户故事测试或者自动化测试不同,它所关注的是“意料之外”的软件缺陷,探索式测试作为一个研究性、启发性和严肃性并存的测试方法,是一般性测试的重要补充。随着敏捷测试的推广,探索式测试逐渐受到大家的关注和重视。本文主要探讨了测试工程师在探索式测试方面的一些误区,并尝试纠正这些问题。误区1:探索式测试是转载 2015-09-11 17:27:55 · 486 阅读 · 0 评论 -
适合所有测试人员读的书籍
软件测试:经验与教训:如果只让推荐一本书,我就推荐这一本。书以很多看似零散的小知识点组成,但是字字珠玑。真正做过2年~20年测试的人,拿起它来,每一条和自己的工作做对照,都会有共鸣或者”原来如此“的感受。工作经验越多,体会越深,是一本常看常新,并且能够一直指导你的书。从某种意义上,它教会测试人员的是“思辨思维”,这才是最重要的财富。有效软件测试: 跟《软件测试,经验与教训一样》是一部分实战很强转载 2015-09-09 10:00:37 · 1198 阅读 · 0 评论 -
Selenium是一瓶陈年佳酿 (续)
基于Selenium的自动化看似是所有自动化测试问题的正确的解决方案。它开始成为自动化的银弹。可是,世界上并没有这样的银弹。我们忽略了测试金字塔有多层,每层代表的一种类型的测试都是待测产品有必要的。这是理想的测试金字塔看起来的样子:对于基于Selenium(也包括其他UI自动化测试工具)的测试,要聚焦于金字塔的顶部,而不是试图覆盖整个金字塔的各个层级。这也正是这类测试的真正价值所在转载 2015-09-09 09:50:44 · 366 阅读 · 0 评论 -
在Eclipse中使用JUnit4进行单元测试(中)
在测试类中用到了JUnit4框架,自然要把相应地Package包含进来。最主要地一个Package就是org.junit.*。把它包含进来之后,绝大部分功能就有了。还有一句话也非常地重要“import static org.junit.Assert.*;”,我们在测试的时候使用的一系列assertEquals方法就来自这个包。大家注意一下,这是一个静态包含(static),是JDK5中新增添的一个转载 2015-09-02 09:55:08 · 330 阅读 · 0 评论 -
性能测试面试题汇总(一)
Q1:什么是负载测试?什么是性能测试? A1:负载测试是通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足性能指标的情况下,系统所能承受的最大负载量的测试,例如,访问一个页面的响应时间规定不超过1秒,负载测试就是测试在响应时间为1秒时,系统所能承受的最大并发访问用户的数量。 性能测试:指在一定的约束条件下(指定的软件、硬件、网络环境等),确定系统所能承受的最大负载压力。转载 2015-06-11 16:58:35 · 11409 阅读 · 0 评论 -
测试框架初体验
在这周的软件测试课上,第一次了解了软件测试框架的概念。软件测试框架包含的范围非常广,从自动化测试框架到单元测试框架以及性能测试框架。在上个寒假中,在学习Coursera的在线课程时发现普林斯顿的单元测试做得非常强大,从程序正确性到Time consuming甚至Memory consuming,几乎能发现程序中的每一处错误或者缺陷。因此,在上完了这周的课程后,我查阅了一些资料,做了这篇随笔记录了解转载 2015-06-11 16:56:51 · 481 阅读 · 0 评论 -
Web性能压力测试工具之ApacheBench(ab)详解
PS:网站性能压力测试是性能调优过程中必不可少的一环。只有让服务器处在高压情况下才能真正体现出各种设置所暴露的问题。Apache中有个自带的,名为ab的程序,可以对Apache或其它类型的服务器进行网站访问压力测试。ApacheBench命令原理:ab命令会创建很多的并发访问线程,模拟多个访问者同时对某一URL地址进行访问。它的测试目标是基于URL的,因此,既可以用来测试Apache的负载转载 2015-10-26 15:59:02 · 478 阅读 · 0 评论 -
软件测试的完整分类
经过几个小时的连续努力,终于完成软件测试的完整分类,不知是否科学、全面,敬请大家多提宝贵意见。转载 2015-10-26 15:59:35 · 333 阅读 · 0 评论 -
web服务器测试工具Gulu——HTTP接口测试工具
HTTP接口测试工具,简单讲就是根据测试需求,向所测Web Server发起各种各样的Request请求,完整的获取Web Server返回Response响应。并能够便捷地对Response响应的各个内容进行验证。那么web服务器测试工具Gulu——HTTP接口测试工具是如何做到的呢?本篇博文将结合代码实现及UML图示从请求设置,响应保存,响应验证,3个部分展开介绍。lu——简介转载 2015-10-26 16:03:41 · 791 阅读 · 0 评论 -
选择测试用例进行自动化的标准
如果不考虑时间和人力成本,忽略技术门槛,大部分人都希望对整个项目进行自动化测试。但事实并非如此。因此,所谓“选择测试用例进行自动化”,就是根据每个用例“实现自动化的难易程度”和“重要性”两方面进行优先级的排序。下面,将结合测试用例的类型、项目所在阶段,进一步讨论。项目中涉及到的测试用例大部分是以下几类:流程测试可能会涉及多个角色,通过一系列的输入输出、各种窗口跳转,转载 2015-09-09 10:01:28 · 2572 阅读 · 0 评论 -
你设计的测试用例颗粒度多大合适?(一)
在测试过程中,我们会经常遇到,实现一个功能有多个操作路径/步骤,比如:在一个库存管理系统中,需要修改一种类型箱子标签的打印格式,而打印这个箱子标签(唛头),涉及很多操作路径,比如有1、【海外制单-海外制单界面】,2、【海外制单-自动打印海外发货唛头(标签)】,3、【海外制单-批量打印海外发货唛头】,4、【海外制单-打印海外箱单(按箱)】,这4个路径都可以打印同一个模板,也就是预期结果一样,但是四个转载 2015-09-16 16:21:03 · 6923 阅读 · 1 评论 -
你设计的测试用例颗粒度多大合适?(三)
测试用例颗粒度常规应用场景的枚举:上面分析了很多测试用例颗粒度粗、细的特点,那么,常规的测试来讲,如何大致定位测试用例颗粒度的粗细呢?下面以单一的应用环境来体现。还是要强调那句话:相同的机构也可能有不同测试目的,可能是测试不同区域或是对同一区域的不同层次的测试。单一条件:1、时间因素:时间短、项目紧、编写用例评审时间较短时,适合粗颗粒度用例。项目周期较长时,适合细颗粒度转载 2015-09-16 16:22:26 · 1725 阅读 · 2 评论 -
Selenium是一瓶陈年佳酿
软件质量传道士——Anand Bagmar是一名具有丰富实际经验并以结果为导向的软件质量传道士,他在IT领域拥有超过17年的经验,其中有超过14年专注于测试领域。他热衷于交付一个高质量的产品,同时致力于自动化测试工具、架构和框架。Anand撰写测试相关的博客文章并开发了软件测试相关的开源工具——WAAT (Web Analytics Automation Testing Framework),转载 2015-09-09 09:49:31 · 423 阅读 · 0 评论 -
探索性测试--笔记三
把所有要做的事情按照优先级排序,然后从最重要的事情做起进行局部探索式测试的决策的5要素:输入、状态、代码路径、用户数据、执行环境输入: 1、识别哪些输入值和其他输入有关联,在同一个测试用例中使用它们 2、识别和考虑输入的先后顺序 3、注意区分非法输入是input filter、还是input check,还是使用exception *留意是否可以绕过input转载 2015-06-11 16:43:53 · 411 阅读 · 0 评论 -
探索性测试--笔记二
测试十戒律:1、你应该使用大量输入,来反复锤炼被测的应用程序 *大规模的随机测试(自动化),而且有助于理解输入和输出的关系2、你应当贪图你的邻居的应用程序3、你应当亲自寻找睿智的预言家 *对应的输入是否有对应的输出,也就是测试基准是否清楚的了解特定输入和环境条件组合的情况; *尝试让测试基准自动化,也许做不到,但是这样思考你可以选择做更有效率的工作4、你不应该崇拜转载 2015-06-11 16:43:18 · 372 阅读 · 0 评论 -
web测试方法总结(五)
十七、性能测试1连接速度测试用户连接到Web应用系统的速度根据上网方式的变化而变化,他们或许是电话拨号,或是宽带上网。当下载一个程序时,用户可以等较长的时间,但如果仅仅访问一个页面就不会这样。如果Web系统响应时间太长(例如超过5秒钟),用户就会因没有耐心等待而离开。另外,有些页面有超时的限制,如果响应速度太慢,用户可能还没来得及浏览内容,就需要重新登陆了。而且,连接速度太转载 2015-10-20 10:20:49 · 431 阅读 · 0 评论 -
web测试方法总结(二)
五、注册、登陆模块1、注册功能:(1)注册时,设置密码为特殊版本号,检查登录时是否会报错(2)注册成功后,页面应该以登陆状态跳转到首页或指定页面(3)在注册信息中删除已输入的信息,检查是否可以注册成功。2、登陆 功能:(1)输入正确的用户名和正确的密码(2)输入正确的用户名和错误的密码(3)输入错误的用户名和正确的密码(4)输转载 2015-10-20 10:15:43 · 373 阅读 · 0 评论 -
软件测试之迁移测试(一)
客户为什么会有迁移的需求?一般而言,迁移的过程势必对当前应用系统运行产生一定的影响,从而会给客户的营业额带来一定的损失,同时客户还得投入大量的人力物力进行迁移的可行性研究、测试及实施等工作。一般而言,迁移的目的是为了获取新版本更加完善的功能,以及最新的业务模式。当然,还有其他一些原因促使客户去迁移应用,例如,随着客户业务的不断增长,对系统的性能要求越来越高。总之,企转载 2015-10-10 16:19:27 · 1566 阅读 · 0 评论 -
软件性能测试的本质(二)
“宏观/微观”的性能测试 这也是一个有趣的对立。在做性能测试,特别是整个产品的性能测试的时候,我们看到的是产品的核心功能和主要的大的功能模块,比如数据库、web服务器、核心的daemon等等。在脑海里,我们有一个架构图,哪怕你没有把它画出来。所以有时候,我们会想,性能测试对于产品的视角是宏观的,看大的组件,而不是具体的细节的东西。果真是如此吗?看看下面的例子:1. 把daem转载 2015-09-16 16:36:45 · 491 阅读 · 0 评论 -
常用安全测试用例(二)
防止SQL注入Admin--‘or --‘ and ( ) exec insert * % chr midand 1=1 ; And 1=1 ; aNd 1=1 ; char(97)char(110)char(100) char(49)char(61)char(49) ; %20AND%201=2‘and 1=1 ; ‘And 1=1 ; ‘aNd 1=1 ;转载 2015-09-16 16:28:56 · 1698 阅读 · 0 评论 -
Monkey测试(一)
一、Monkey测试简介Monkey测试是Android平台自动化测试的一种手段,通过Monkey程序模拟用户触摸屏幕、滑动Trackball、按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常。二、Monkey程序介绍1) Monkey程序由Android系统自带,使用Java语言写成,在Android文件系统中的存放路径是:/system/framework/转载 2015-09-16 16:25:33 · 318 阅读 · 0 评论 -
性能用例编写方案
性能测试在软件测试中占有重要的地位,而性能测试又关联很多内容。例如压力和强度测试就与性能测试密切相关:针对一个网站进行测试,模拟10到50个用户就是在进行常规性能测试,用户增加到1000乃至上万就变成了压力/负载测试,如果同时对系统进行大量的数据查询操作,就包含了强度测试。为了便于性能测试工作的实施,这里的性能测试综合了性能、强度、压力、负载等多方面的测试内容,主要包含的内容有:预期性能指标测转载 2015-10-26 15:54:16 · 420 阅读 · 0 评论 -
性能测试新手常犯错误总结(一):找不到测试点,不知为何而测
有过一些性能测试经验的人很容易进入此状态,他们已经熟悉了性能测试的基本流程,能够比较熟练的使用测试工具开展工作。我大概从事性能测试一年左右时遇到了这个问题,那时我觉得性能测试的过程没有太多挑战,遇到的每一个系统,仿佛都可以用同样的流程完成。半天时间填写测试方案,一天时间来准备测试环境,一天时间准备测试脚本,一到两天来完成各种测试用例(基准测试、日常压力测试、峰值压力测试、绝对转载 2016-02-24 14:21:37 · 411 阅读 · 0 评论 -
性能测试新手常犯错误总结(二):为什么我模拟的百万测试数据是无效的?
测试环境的重要性无需多说,大家都知道测试环境要尽量的模拟生产环境,当然也包括数据。这样测试的结果才会更加准确的反应真实的性能。就连开发过程,都已经开始在大数据量下加压开发了。那么,关于测试数据,你了解多少呢? 通常说的测试数据可以分为两类: 一是为了测试性能而准备的数据,这是用来模拟“压力”的数据 也就是常说的转载 2016-02-24 14:28:31 · 613 阅读 · 0 评论 -
【学习笔记】系列十五:Ant单元测试JUnit
好了,接下来继续Ant,有关单元测试,涉及到JUnit和TestNG首先来说JUnit,执行用例很简单,但是大部分人应该不仅仅需要执行,更多的是想要得到测试报告JUnit自生成.xml格式的测试报告,不过可视性不是很好,需要整理而且,IDE下的JUnit执行后,测试报告是不自动储存的Demo如下:这次的代码是自己的,不会出现xxxx了原创 2017-02-07 09:07:32 · 499 阅读 · 0 评论 -
【学习笔记】系列十六:Ant单元测试TestNG
最后的Ant,是TestNG说实话TestNG的测试报告也不是很美观,所以引入了ReportNG,放心,这个只是个jar包,不需要做太多的其他操作不过官方的ReportNG有一个中文显示乱码的bug,需要修改源码重新编译TestNG自身的testng.xml就不说了,直接上Demo:也是自己的代码,不怕丢人原创 2017-02-07 09:35:47 · 526 阅读 · 0 评论 -
【学习笔记】系列十四:Ant安装与使用举例
近期在研究持续集成,涉及到Jenkins,GitLab,Ant,Maven等主流工具与技术,会慢慢整理成博文,以作参考首先是AntAnt安装:官网主页:http://ant.apache.org/下载地址:http://ant.apache.org/bindownload.cgiWindows下载解压zip,环境变量添加ANT_HOME,值为解压路径,并在PATH中添加原创 2017-02-06 18:33:36 · 358 阅读 · 0 评论 -
关于接口测试的总结
1. 接口测试:是测试系统组件间接口的一种测试。主要用于检测外部系统于系统之间以及系统内部各个子系统之间的交互点。重点测试的时数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等等,这要求对业务逻辑有一定程度上的理解,对数据流向有较好的定位。 2. 接口测试的分类: a) 系统与系统之间的调用(如分享时,微信会提供接口给“跑向珠峰”); b) 上层服务对下层服务的调用转载 2017-02-09 19:03:39 · 2865 阅读 · 0 评论 -
selenium自动化测试资源整理(含所有版本chrome、chromedriver、firefox下载链接)
今天把手头有的一些关于selenium测试的资源整理了一下,分享出来。1. 所有版本chrome下载是不是很难找到老版本的chrome?博主收集了几个下载chrome老版本的网站,其中哪个下载的是原版的就不得而知了。http://www.slimjet.com/chrome/google-chrome-old-version.phphttp://google_c转载 2017-06-16 11:33:18 · 1196 阅读 · 0 评论 -
记一个TestNG的教程链接,适合入门学习
查看TestNG官方文档的时候,巧合发现了这个教程网站,很不错,TestNG入门学习的时候可以看看,也适合当工具书。 TestNG Hello World示例 - 开始使用TestNG,创建一个简单的测试用例以及如何执行它。 TestNG配置注释 - 此示例演示TestNG中支持的配置注释列表。 TestNG预期异常测试 - 这个例子演示了如何做异常测试 - @Test(expe...原创 2017-07-28 11:06:28 · 580 阅读 · 0 评论 -
【学习笔记】系列十八:TestNG - ITestNGListener
自定义Listener继承ITestNGListener ITestListener ISuiteListener IReporter IInvokedMethodListener IHookable ... 以上接口均继承自ITestNGListener,可以根据不同需求选用不同接口。对于ITestListener,实际应用过程中,...原创 2019-02-27 15:12:41 · 1303 阅读 · 0 评论 -
【学习笔记】系列十九:TestNG - IRetryAnalyzer
重做失败的case是常用的操作实现方法1 - 使用RetryAnalyzerCount,此类继承自IRetryAnalyzerimport org.testng.ITestResult;import org.testng.util.RetryAnalyzerCount;/** * An implementation of IRetryAnalyzer that allows yo...原创 2019-02-27 15:34:59 · 1076 阅读 · 0 评论 -
《jmeter:菜鸟入门到进阶》系列
看到的文章,记录一下,省的自己整理了。(转自https://www.cnblogs.com/imyalost/p/7062784.html)jmeter是我从事软件测试工作以来接触的第一个性能测试工具,也是耗费时间精力最多的一个工具,当然,学习jmeter过程中,由于知识储备不够,也顺带学习了很多其他相关的一些知识。一直有个想法,就是把jmeter写成一个完整的系列,包括元件构成、用法、不...转载 2019-02-26 11:02:49 · 519 阅读 · 0 评论 -
Jmeter教程索引贴
作者:Glen.He 出处:http://www.cnblogs.com/puresoul/ 一、基础部分:使用Jmeter进行http接口测试Jmeter之Http Cookie ManagerJmeter之HTTP Request DefaultsJmeter之逻辑控制器(Logic Controller)Jmeter属性和变量Jmeter组件执转载 2016-07-20 10:47:52 · 706 阅读 · 0 评论 -
配置Log4j
原文:http://www.blogjava.net/zJun/archive/2006/06/28/55511.htmlLog4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。通过配置,可以创建出Log4J的运行环境。1. 配置文件Log4J配置文件的基本格转载 2016-07-20 10:38:34 · 213 阅读 · 0 评论 -
性能测试新手常犯错误总结(四):一切来自录制
经常会有性能测试新手问这样的问题: C/S的系统如何录制,应该选择什么协议呢? 待测系统A的一个功能,是由B系统调用的,也需要搭建B系统的测试环境并对其录制么? 我的回答是,先弄清楚你想测的是什么?对它而言,压力又是什么? 新手总是想着如何录制客户端的操作,如何模拟客户端的点击。这种想法应该是受到了主流测试工具影响,性转载 2016-02-24 14:35:42 · 326 阅读 · 0 评论 -
性能测试新手常犯错误总结(五):如何提出一个好的性能问题
经常会见到新人提出这样的性能问题: “100用户时,A操作响应时间达到了XX秒,请修改。” 面对这样的问题,开发人员一定会觉得很无助,他们甚至不知道问题是什么。 即使从测试人员的角度来看,这也算不上是一个合格的问题。 那么一个好的性能问题应该是什么样呢? 好问题要描述清晰 100个用户,是指转载 2016-02-24 14:36:38 · 473 阅读 · 0 评论 -
性能测试新手常犯错误总结(六):性能监控
"数据库(或中间件)非常慢了,如何监控它的性能” “你想得到什么性能指标?” “就是……内部的性能指标” 收到性能测试人员这样的问题后,通常会发生上面的对话。 我的观点是,准确的说出你想要做什么,比你会不会做更重要。 那么对于性能测试人员来说,”性能监控“这门必修课,该从何下手呢? 监控什么 如果我给你一个黑盒子,告诉你里转载 2016-02-24 14:37:48 · 297 阅读 · 0 评论 -
性能测试新手常犯错误总结(七):你需要调优么
测试人员喜欢在得到某个达不到预期的性能结果后,进行一下“调优”。 PM有时也会布置任务,测试完成后“调一个优”。 一些人貌似有了这种观念:调优才使性能测试有意义、性能测试的目的就是调优、做调优才能显出测试人员的水平…… 随着经验的增长和对性能更深入的认识,我越来越体会到调优是一个复杂的过程,不是动动嘴、改俩个参数这么简单,只有通过科学的方法转载 2016-02-24 14:38:27 · 437 阅读 · 0 评论