单元测试

Junit单元测试数据生成工具类

别说谁变了你拦得住时间么 提交于 2019-11-29 18:39:57
在Junit单元测试中,经常需要对一些领域模型的属性赋值,以便传递给业务类测试,常见的场景如下: com.enation.javashop.Goods goods = new com.enation.javashop.Goods(); goods.setBrandId(1); goods.setCategoryId(1); goods.setGoodsName("测试商品"); goods.setPrice(1.01); goods.setSn("100001"); goods.setWeight(1.01);    如果领域模型的属性特别多,手工去写set方法令人发指,写了一个生成的工具类,用法如下: String mockCode = MockDataGenerator.create(Goods.class);   生成结果: com.enation.javashop.Goods goods = new com.enation.javashop.Goods(); goods.setBrandId(819); goods.setCategoryId(109); goods.setCost(1.01); goods.setGoodsId(970); goods.setGoodsName("random_str748"); goods.setGoodsTransfeeCharge

软件测试的各个阶段单元测试、集成测试、系统测试、验收测试、回归测试

倖福魔咒の 提交于 2019-11-29 17:30:50
单元测试 : 单元测试:完成最小的软件设计单元(模块)的验证工作,目标是确保模块被正确的编码,使用过程设计描述作为指南,对重要的控制路径进行测试以发现模块内的错误,通常情况下是白盒的,对代码风格和规则、程序设计和结构、业务逻辑等进行静态测试,及早的发现和解决不易显现的错误。 集成测试 :集成测试:通过测试发现与模块接口有关的问题。目标是把通过了单元测试的模块拿来,构造一个在设计中所描述的程序结构,应当避免一次性的集成(除非软件规模很小),而采用增量集成。 自顶向下集成 :模块集成的顺序是首先集成主模块,然后按照控制层次结构向下进行集成,隶属于主模块的模块按照深度优先或广度优先的方式集成到整个结构中去。 自底向上集成 :从原子模块开始来进行构造和测试,因为模块是自底向上集成的,进行时要求所有隶属于某个给顶层次的模块总是存在的,也不再有使用稳定测试桩的必要。自底向上的集成(Bottom-Up Integration)方式是最常使用的方法。其他集成方法都或多或少地继承、吸收了这种集成方式的思想。自底向上集成方式从程序模块结构中最底层的模块开始组装和测试。因为模块是自底向上进行组装的,对于一个给定层次的模块,它的子模块(包括子模块的所有下属模块)事前已经完成组装并经过测试,所以不再需要编制桩模块(一种能模拟真实模块,给待测模块提供调用接口或数据的测试用软件模块) 系统测试 :系统测试

Selenium 与自动化测试 —— 《Selenium 2 自动化测试实战》读书笔记

雨燕双飞 提交于 2019-11-29 15:19:17
背景 最近在弄 appium,然后顺便发现了 Selenium 框架和这本书,恰好这本书也介绍了一些软件测试&自动化测试的理论知识,遂拿过来学习学习。所以本文几乎没有实践内容,大多都是概念和工具的 mark,后续若有实践,我会来补充的。 一、软件测试 分类 1、根据项目流程阶段划分 需求分析 设计 编码 单元测试 集成测试 系统测试 验收测试 2、白盒测试、黑盒测试、灰盒测试 白盒测试的意义:有时候输出是正确的,但内部其实已经错误了,这种情况非常多。 灰盒测试的意义:如果每次都通过白盒测试来操作,效率会很低,黑盒又太过笼统,因此折中的灰盒测试比较适合。 3、功能测试与性能测试 功能测试 主要检査实际功能是否符合用户的需求。 功能测试又可以细分为很多种:逻辑功能測试、界面测试、易用性测试、安装测试、兼容性测试等。 性能测试 主要有 时间性能 和 空间性能 两种。 时间性能:主要是指软件的一个具体的响应时间。 空间性能:主要指软件运行时所消耗的系统资源。 4、手工测试与自动化测试 自动化测试不能完全地替代手工测试 ,自动化测试的目的仅仅在于让测试人员从烦琐重复的测试过程中解脱出来,把更多的时间和精力放到更有价值的测试中, 例如探索性测试。而自动化测试更多的是用来进行冒烟测试和回归测试。 自动化测试是本文要探讨的重点。 5、冒烟测试、回归测试、随机测试、探索性测试和安全测试 冒烟测试

使用Jest进行单元测试

家住魔仙堡 提交于 2019-11-29 15:05:52
Jest是Facebook推出的一款单元测试工具。 安装 npm install --save-dev jest ts-jest @types/jest 在package.json中添加脚本: “test”: "jest" 生成Jest配置文件(生成jest.config.js) npx ts-jest config:init 使用 先简单编写一个ts文件 function adds(a: number, b: number) { return a+b; } function sub(a: number, b: number) { return a-b; } export { adds, sub }; 编写测试用例: import {adds,sub} from './math' test('adds: 1 + 1 = 2',()=>{ expect(adds(1,1)).toBe(2); }); test("sub: 1 - 2 = -1",()=>{ expect(sub(1,2)).toBe(-1); }); 执行测试脚本: npm run test 使用ts-jest的好处是,能够在测试用例中进行类型检查。 来源: https://www.cnblogs.com/V587Chinese/p/11520371.html

junit单元测试

非 Y 不嫁゛ 提交于 2019-11-29 12:09:25
junit单元测试 测试分类 黑盒测试 不需要写代码,给输入值,看程序能否输出期望的值 白盒子测试 需要写代码 Junit使用 属于白盒测试 步骤 1,测试类名:被测试的类名Test CalculatorTest 包名:xxx.xxx.xx.Test cn.itcast.Test 2,定义测试方法:可独立运行 方法名:Test测试类的方法名 TestAdd() 返回值:void 参数列表:建议空参 3,给方法加 @Test 4,导入Junit依赖环境 判定结果: 红色:失败 绿色:成功 一般会使用断言操作来处理结果 Assert.assertEquals(期望的结果,运算的结果) 补充 @Before:初始化方法* 用于资源的申请 所有测试方法在执行之前都会执行该方法 @After: 释放资源的方法* 所有测试方法执行完之后,都会执行该方法 来源: https://www.cnblogs.com/lsswudi/p/11517342.html

Agile-单元测试

天涯浪子 提交于 2019-11-29 11:20:21
Agile-单元测试 单元测试 (Unit testing) 待单元程序(unit, 如一个 Java public method source code) 完成后,用工具(如JUnit),自动执行 test code,测试该单元 (unit) 叫单元测试 逆向工程 工具 利用逆向工程 工具 如 BOUML *需要时,可由程序(source file;不含 reused code) 动态产生 class diagram, sequence diagram 等文档,供了解软件全貌、决定维修那个class及检查相关classes(为了解软件全貌,main program 之前也要有标头:系统描述、重大决策)这有可能敏捷达成 CMMI 一些 process areas 的 goals VS是有相关的软体可用,只是不知道那个最顺手~~~ p.s 写到这里算是把Agile大概走一遍,接下来有实做心得再记录了~~~ 自我LV~ 原文: 大专栏 Agile-单元测试 来源: https://www.cnblogs.com/chinatrump/p/11516249.html

JavaWeb-RESTful(三)_使用SpringMVC开发RESTful

天大地大妈咪最大 提交于 2019-11-29 08:18:24
  Learn      一、单元测试:添加用户      二、单元测试:修改用户     三、单元测试:删除用户 一、单元测试:添加用户   在MainController.java中添加addUser()添加用户的单元测试方法 @Test public void addUser() throws Exception { mockMvc.perform(MockMvcRequestBuilders.post("/user") .contentType(MediaType.APPLICATION_JSON_UTF8) .content("{\"username\":\"Gary\"}")) .andExpect(MockMvcResultMatchers.status().isOk()) .andExpect(MockMvcResultMatchers.jsonPath("$.id").value("1")); }   给User实体对象设置三个熟悉,id、username、password private String username; private String password; private String id;   通过id和username获得的试图都是简单试图,通过password获得的试图是复杂试图 @JsonView(UserSimpleView.class

【软件测试】测试基础内容和方法总结

本小妞迷上赌 提交于 2019-11-29 07:53:46
文章目录 一个测试活动完整的过程 测试计划工作的目的、测试计划文档的内容包括什么? 测试用例通常包括那些内容? 测试人员在软件开发过程中的任务是什么? 软件测试分为几个阶段,各阶段的测试策略和要求是什么? 单元测试 请回答集成测试和系统测试的区别,以及它们的应用场景主要是什么? 你在测试中发现了一个bug,但是开发经理认为这不是一个bug,你应该怎么解决? 请问你觉得测试项目具体工作是什么? 软件测试方法 黑盒测试 边界值分析法 因果图法 判定表法 白盒测试 语句覆盖 判定覆盖 条件覆盖 判定/条件覆盖 条件组合覆盖 性能测试 性能测试类型 负载测试:是指对系统不断地增加压力或增加一定压力下的持续时间,知道系统的某项或多项性能指标达到安全临界值,例如某种资源已经达到饱和状态等 压力测试:压力测试是评估系统处于或超过预期负载时系统的运行情况,关注点在于系统在峰值负载或超出最大载荷情况下的处理能力。 恢复测试 强度测试 疲劳强度测试 每一阶段测试基于的文档 一个测试活动完整的过程 项目立项前测试人员不需要提供任何工件 项目经理 通过和客户交流,完成 需求文档 ,由开发人员和测试人员共同完成需求文档的评审,评审的内容包括:需求描述不清楚的地方和可能有明显冲突或者无法实现的功能的地方。 项目经理通过综合开发人员、测试人员以及客户的意见,完成 项目计划 。然后SQA进入项目

在自动化建置中如何取消单元测试?

喜欢而已 提交于 2019-11-29 06:09:44
在自动化建置中如何取消单元测试? 昨天和 M 同事在讨论有关于自动化建置时是否可以取消“单元测试”的项目 问了理由后才了解在单元测试建置后会单元测试的组件也会一并在文件清单中 基本上一般的 ASP.NET 自动化建置是不会包含 Unit Test 的文件 而该 解决方案 都只有 Class Library 而且又都是会一直新增项目,所以希望能在某些情况下能不要有。 基本上这个问题只需要建立两组 Team Build Definition 即可 ( 像是 Release 时就不需要做 Unit Test ) 我们就在 Team Build Definition 中新增了 TailspinToysWithoutTest 项目后 在 Process 的项目中可以看到 Automation Tests 点开后直接选清空 重新编译后就可以看到 Build Report 中就不会执行 Unit Test 原文: 大专栏 在自动化建置中如何取消单元测试? 来源: https://www.cnblogs.com/chinatrump/p/11458418.html

Idea 使用 Junit4 进行单元测试

半世苍凉 提交于 2019-11-29 04:41:42
目录 Idea 使用 Junit4 进行单元测试 1. Junit4 依赖安装 2. 编写测试代码 3. 生成测试类 4. 运行 Idea 使用 Junit4 进行单元测试 1. Junit4 依赖安装 Idea 默认使用 arquillian junit4 作为测试框架,我们将其更改为 Junit4。 Settings -> Plugins -> 搜索栏中搜索 Junit 并勾选 -> 安装完成 2. 编写测试代码 编写一个简单的加减乘除工具类,代码如下: Calculate.java package com.test.util; public class Calculate { public int add(int a, int b) { int result = a + b; return result; } public int subtract(int a, int b) { int result = a - b; return result; } public int multiply(int a, int b) { int result = a * b; return result; } public int divide(int a, int b) { int result = a / b; return result; } } 新建 test 目录,Idea