测试艺术
测试管理,测试工具,测试方法
万里归来少年心
这个作者很懒,什么都没留下…
展开
-
《软件测试的艺术》读书笔记(二)
1.测试方法 测试方法的分类如下:黑盒测试 白盒测试 等价类划分 语句覆盖 边界值分析 判定覆盖 因果图 条件覆盖 错误测试 判定/条件覆盖 多重条件覆盖 2.黑盒测试等价类划分 将程序的输入数据划分为有限数量的等价类,等价类中的任一数据等价于该类中的其他任一数据。 等价类中的用例必须体现...原创 2020-02-07 21:35:28 · 592 阅读 · 1 评论 -
测试类书籍
年底啦啦啦!对收藏的书籍做一个分类,分享一波儿。 喜欢的人可以留言获取,也可以将好的书籍推荐给我哦。1.Google软件测试之道 2.微软的软件测试之道 3.学习要像加勒比海盗 4.软件测试的经验和教训 5.有效软件测试 6.零成本实现WEB性能测试 7.精通qtp与自动化测试框架设计实战...原创 2020-04-02 16:06:08 · 624 阅读 · 0 评论 -
主流测试工具介绍
主流测试工具如下:工具 描述 QTP 收费,功能测试,桌面自动化测试 Selenium 开源,功能测试,web自动化测试 Jmeter 开源,web,接口测试,性能测试 Loadrunner 收费,web,性能测试 Robot framework 关键字驱动的测试自动化框架 应用场景如下:分类 工具 we...原创 2020-03-29 21:46:26 · 509 阅读 · 0 评论 -
Postman使用入门(五)- 抓包
本文演示用Postman抓取手机上的请求。1.设置端口号和存储位置2.设置手机端代理 手机和Postman应该在同一局域网中,手机上代理服务器的地址、端口号和Postman相同。 3.Postman抓取手机的访问请求 手机访问网页,Postman可以抓取这些访问请求。...原创 2019-05-01 16:46:03 · 2893 阅读 · 0 评论 -
Postman使用入门(四)- 接口测试实例
本文演示用Postman做接口测试的实例。测试https://www.apishop.net中的“全国天气预报”的接口。1.全国天气预报1.1基本信息接口地址:https://api.apishop.net/common/weather/get15DaysWeatherByArea 请求协议:HTTP、HTTPS 请求方式:GET、POST 请求格式:JSON 返回格...原创 2019-05-01 13:29:41 · 11355 阅读 · 2 评论 -
Postman使用入门(六)- 关联接口的测试
1.测试步骤 Postman对关联接口的测试步骤如下:从接口的响应中提取需要的数据 设置为环境变量/全局变量 将环境变量/全局变量写入到下一个接口的请求中2.Postman实例 本文演示用Postman测试https://www.apishop.net中的“全国天气预报”的接口。 首先,获取地名对应的ID。然后,将ID设置为环境变量。最后,利用该环境变...原创 2019-05-01 20:18:44 · 5375 阅读 · 0 评论 -
Postman使用入门(三)- 测试集合Collection
Collection表示集合,每次配置完一个请求都可以保存到集合中,下次测试可以直接从集合中找到测试。一个请求是一个Test Case, 集合就是一个Test Suite。Postman支持一键运行整个集合内的测试。1.创建Collection 点击增加按钮,弹出create a newCollection对话框。在对话框内写入Collection的名字。此处Coll...原创 2018-12-10 18:41:25 · 2777 阅读 · 3 评论 -
Postman使用入门(二) - 环境变量Environments
上一篇文章介绍了如何用Postman发送消息,本文介绍如何用Postman做测试。 Pre-request Script 定义发送request之前需要运行的一些脚本,主要是设置全局变量和环境变量。 Tests 定义发送Request之后,需要用脚本检测的内容,也就是Test case的内容。1.建立环境变量在测试时,在不同的测试环...原创 2018-12-10 17:21:48 · 9680 阅读 · 0 评论 -
Postman使用入门(一)- HTTP Request
Postman最基础的功能就是发送http请求,支持GET/PUT/POST/DELETE等。打开Postman,界面如下:左侧是History和Collections,右侧是Request Builder。HTTP Request一般分为4个部分: URL、Headers、Method、和Body。通过填写上述部分就可以发送请求做简单的测试。URL在Postman中输入UR...原创 2018-12-10 15:20:29 · 6514 阅读 · 2 评论 -
《软件测试的艺术》读书笔记(一)
软件测试心理学 明确软件测试的定义具有重要的心理学影响。软件测试是“为发现错误而执行程序的过程”。明确测试的目的使得设计的测试数据可以更多的发现程序的问题,而不是减少程序的实效。 区分“成功的”和“不成功的”的测试。“成功的”测试的指发现了可修复的错误或者最终确定再无其他可查出的错误。“不成功的”测试,仅指未能适当地对程序进行检查,在大多数情况下,未能找出错误的测试被认为是“不...原创 2020-02-03 13:41:00 · 695 阅读 · 1 评论 -
VS2017配置googletest
1.新建项目,项目名称为Test_Math2. 右键管理NuGet程序包 - 搜索Googletest - 安装3.添加文件test.cpp4.示例代码#define _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING 1#include <gtest/gtest.h>class VecTest : public ...原创 2019-07-09 14:52:40 · 2647 阅读 · 0 评论 -
Nunit常用属性
1.TestFixture 标记包含测试的类。该类的特征:(1)必须是public,否则NUnit找不到它;(2)必须有缺省的构造函数,否则NUnit不会构造它;(3)构造函数没有任何副作用,因为NUnit经常多次构造它。[TestFixture]public class Tests{ }2.Test 标记测试函数。该函数的特征:1)必须是publi...原创 2019-01-09 14:16:15 · 704 阅读 · 2 评论 -
Nunit界面简介
NUnit是一个单元测试框架,专门针对于.NET来写的。java中有JUnit,C++中有CPPUnit,它们都是xUnit的一员。NUnit的下载地址:http://www.nunit.org/右上部2个按钮:Run 开始执行测试 Stop 终止执行正运行的测试进度条的颜色反映了测试执行的状态:绿色 描述目前所执行的测试都通过 黄色 意味某些测试忽略,但是这里没有失败...原创 2019-01-09 10:54:28 · 1170 阅读 · 0 评论 -
Nunit常用类(三) - CollectionAssert
CollectionAssert.AllItemsAreInstancesOfType判断集合中的各项是否是某类型的实例。List<int> nums = new List<int>() { 1, 3 };CollectionAssert.AllItemsAreInstancesOfType(nums, typeof(int)); //trueDic...原创 2019-01-14 16:25:50 · 614 阅读 · 0 评论 -
第一个单元测试例子
1.被测类 被测类LogAnalyzer,其中的被测函数IsValidLogFileName用于判断文件名是否以.log结尾。public class LogAnalyzer{ public bool IsValidLogFileName(string fileName) { if (string.IsNullOrEmpty(fileName))...原创 2019-01-04 09:43:49 · 724 阅读 · 0 评论 -
桩对象(一)
外部依赖是指在系统中代码与其交互的对象,而且无法对其做人为控制。(如文件系统,线程,内存和时间等) 桩对象是对系统中现有依赖项的一个替代品,可人为控制,通过使用桩对象,无需涉及依赖项,即可直接对代码进行测试。 下面通过例子演示使用桩对象处理外部依赖问题。1.抽取接口,以允许替换底层实现 定义接口IExtensionManagerpublic interfa...原创 2019-01-07 14:17:37 · 439 阅读 · 0 评论 -
桩对象(二)
为每一个要注入的依赖增加get和set属性,然后,被测代码中需要它时,就使用这个依赖。通过set/get实现依赖注入,与上文(通过构造函数实现依赖注入)很相似,但是代码可读性更强。public class LogAnalyzer{ private const int minFileNameLength = 6; private IExtensionManager man...原创 2019-01-07 14:49:51 · 237 阅读 · 0 评论 -
桩对象(三)
在上篇文章中,桩对象是由外部代码在测试开始之前设置。本文将通过工厂类,在被测代码内容初始化桩对象。1.被测类public class LogAnalyzer{ private const int minFileNameLength = 6; private IExtensionManager manager; //使用工厂 public LogAnal...原创 2019-01-07 15:48:20 · 289 阅读 · 0 评论 -
桩对象(四)
1.被测类 在被测类中添加一个返回真实实例的虚工厂方法GetManager(),并代码IsValidLogFileName()中使用该工厂方法。public class LogAnalyzerUsingFactoryMethod{ public bool IsValidLogFileName(string fileName) { return Get...原创 2019-01-07 17:23:45 · 256 阅读 · 0 评论 -
桩对象(五)
使用抽取和重写返回一个逻辑结果,以代替对一个依赖的真正调用。用一个简单的伪结果代替桩对象。1.被测类public class FileExtensionManager { public bool IsValid(string fileName) { if (string.IsNullOrEmpty(fileName)) throw...原创 2019-01-07 18:10:17 · 242 阅读 · 0 评论 -
模拟对象(一)
交互测试用来测试一个对象如何向另一个对象传递消息,或者如何从其他对象接收消息,即测试对象如何与其他对象进行交互。模拟对象是系统中的一个伪对象,用来决定一个单元测试是通过还是失败。它通过验证被测对象和伪对象之间是否进行预期的交互来判断。通常每个测试只有一个伪对象。桩对象和模拟对象的区别:使用桩对象时,断言是针对被测类执的。使用模拟对象时,断言是针对模拟对象的。下面通过实际例子,演示模拟对...原创 2019-01-08 12:58:10 · 672 阅读 · 0 评论 -
模拟对象(二)
本文演示同时使用桩对象和模拟对象。当文件名太短时,LogAnalyzer发送错误消息给Web服务器。Web服务器出错时,发送邮件给管理员。有上述业务可知,LogAnalyzer有两个外部依赖:Web服务和邮件服务。现在测试LogAnalyzer在Web服务抛出异常时正确调用了邮件服务。桩对象:使Web服务抛出的异常,确保测试正确运行。模拟对象:模拟邮件服务,验证是否向邮件服务传入正...原创 2019-01-08 14:22:48 · 327 阅读 · 0 评论 -
Nunit常用类(二) - StringAssert
StringAssert.Contains判断字符串中是否包含另一个字符串。string str = "April";StringAssert.Contains("pr", str); //trueStringAssert.StartsWith判断字符串是否以另一个字符串开头。string str = "April";StringAssert.StartsWith...原创 2019-01-14 15:36:01 · 525 阅读 · 0 评论 -
Nunit常用类(一) - Assert
Assert.AreEqual 测试两个参数是否相等。int num = 3;Assert.AreEqual(num, 3); //trueAssert.AreSame 测试两个参数所引用的对象是否一致。int a = 3, b = 3;Assert.AreSame(a, b); //falseAssert.Contains ...原创 2019-01-14 14:51:18 · 1029 阅读 · 0 评论 -
配置Nunit进行单元测试
1、环境 操作系统:Windows10 集成环境:VisualStudio2017comminity 编程语言:C# 目标框架:.NETFramework4.6.1 测试框架:NUnit3,涉及到的组件NUnit 3 Test Adapter(V3.12.0), NUnit VS Templates(V1.3), Test Generator NUnit ex...原创 2018-12-28 11:41:29 · 658 阅读 · 5 评论