软件测试:第二次作业(JUnit单元测试方法)
一、JUnit是什么?
JUnit是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架(regression testing framework)。JUnit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。JUnit是一套框架,继承TestCase类,就可以用JUnit进行自动测试。
二、单元测试
单元测试是编写测试代码,用以检测特定的、明确的、细颗粒的功能 。应该准确、快速地保证程序基本模块的正确性。严格来说,单元测试只针对功能点进行测试,不包括对业务流程正确性的测试。单元测试不仅仅是要保证代码的正确性,一份好的单元测试报告,还要完整地记录问题的所在和缺陷以及正确的状态,方便后面代码的修复,重构和改进。
三、JUnit框架中的对象类
JUnit有4个重要的类,分别是TestSuite、TestCase、TestResult和TestRunner,另外还包括Test和TestListener接口和Assert类。
(1)Assert类用来验证条件是否成立,当条件成立时,assert方法保持沉默,若条件不成立时就抛出异常。
(2)Test接口用来测试和收集测试的结果,Test接口采用了 Composite设计模式,它是单独的测试用例,聚合的测试模式以及测试扩展的共同接口。
(3) TestCase抽象类用来定义测试中的固定方法, Testcase是Test接口的抽象实现,由于 TestCase是一个抽象类,因此不能被实例化,只能被继承。其构造函数可以根据输入的测试名称来创建一个测试用例,提供测试名的目的在于方便测试失败时查找失败的测试用例。
(4) Test Suite是由几个TestCase或其他的Test Suite构成的。可以很容易构成一个树形测试,每个测试都由持有另外一些测试的Test Suite来构成。被加入到 Test Suite中的测测试在一个线程上依次被执行。
(5) Test Result负责收集TestCase所执行的结果,它将结果分类,分为客户可预测错误和没有预测的错误,它还将测试结果转发到 TestListener处理。(
(6) TestRunner是客户对象调用的起点,它负责对整个测试过程进行跟踪。它能够显示测试结果,并且报告测试的进度。
(7) TestListener包含4个方法: addError(), addFailuer(), startTest()和 endTest()它是对测试结果的处理和对测试驱动过程的工作特征进行提取。
四、JUnit测试技术存在的缺陷
仅支持同步的测试.要懂得java或者C++语言,同时没有办法检查抛出异常的信息。
五、结论
单元测试是非常有必要的,有助于对自己的代码质量以及编码能力,JUnit框架中的对象类来实现这个需求,则简化测试人员的操作便利。
软件测试:第二次作业(JUnit单元测试方法)的更多相关文章
- 软件测试第二次作业:初识JUNIT单元测试方法
软件测试有很多分类,从测试的方法上可分为:黑盒测试.白盒测试.静态测试.动态测试 从软件开发的过程分为:单元测试.集成测试.确认测试.验收.回归等. 在众多的分类中,与开发人员关系最紧密的莫过于单 ...
- 熟悉Junit单元测试方法
定义: JUnit是一个Java语言的单元测试框架.它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个. JUnit有它自己 ...
- 软件测试第二周作业 WordCount
本人github地址: https://github.com/wenthehandsome23 psp阶段 预估耗时 (分钟) 实际耗时 (分钟) 计划 30 10 估计这个任务需要多少时间 20 ...
- 软件测试第二次作业——Fault,Failure,Error辨析与设计测试用例
Fault 静态错误 ,Failure 外部错误 ,Error 内部错误 问题答案 第一题 1.1 当数组x内的元素≥2时,该循环不会检测到x[0]这个元素. 1.2 test: x=[2, 3, 2 ...
- spring boot -junit单元测试方法示例
package com.example.zs; import com.example.zs.mapper.UserMapper; import com.example.zs.pojo.User; im ...
- Python模拟wc命令(软件测试第二次作业)
Python实现字符,单词,行,代码行,空行及可视化 Gitee项目地址:https://gitee.com/biubiubiuLYQ/word_and_character_statistics 一. ...
- 23.IDEA 运行junit单元测试方法
转自:https://blog.csdn.net/weixin_42231507/article/details/80714716 配置Run,增加Junit 最终配置如下:
- IDEA 运行junit单元测试方法
配置Run,增加Junit 最终配置如下:
- OO作业第一单元总结
一.第一单元作业回顾 系列一作业分为三周进行,都是表达式求导,难度渐进. 第一次实现的是简单幂函数的求导,第二次加入了sin和cos两种三角函数,第三次实现了三角函数内的嵌套以及引入了表达式因 ...
随机推荐
- echarts 角度渐变环形图心得
今天做了一个图,把自己的遇到的问题和体会记录一下,以防忘记 echarts地址 https://gallery.echartsjs.com/editor.html?c=xEPtLLmG4G 参考官网地 ...
- shell date命令
date命令的语法结构: date [-d][时间运算] [+FORMAT] 先说简单的,[+FORMAT] 部分,主要有如下输出格式: 时间方面: %H : 小时(00..23) %I : 小时(0 ...
- React---简单实现表单点击提交插入、删除操作
import React,{Component,Fragment} from 'react' class App extends Component { constructor(){ super() ...
- 出错:(unicode error) 'unicodeescape' codec can't decode bytes in position 8-9: malformed \N character escape
报错原因:python 中 \N 是换行的意思.这里要把 N 前面的 \ 转义一下.用 \\ 代替即可. Nokia_mac = np.loadtxt('data\oui\\NokiaMac201 ...
- Ajax+setInterval定时异步刷新页面
这个是之前一个项目中用到的功能,现在记录一下他的使用步骤. 现在讲解一下具体的关键代码: 1. window.onload:是指等待页面html和css都执行完毕以后才开始执行js文件,因为我这个 ...
- C# Selenium 破解腾讯滑动验证
什么是Selenium? WebDriver是主流Web应用自动化测试框架,具有清晰面向对象 API,能以最佳的方式与浏览器进行交互. 支持的浏览器: Mozilla Firefox Google C ...
- APP测试常见点
1. 生成APK文件在真机上可以安装和卸载(安装卸载测试) 2. 第三方手机助手上面可以安装和卸载(安装卸载测试) 3. 启动APP 4. 验证数字签名.升级后可以正常使用.在线跨版本升级(在线升级测 ...
- 448. Find All Numbers Disappeared in an Array&&645. Set Mismatch
题目: 448. Find All Numbers Disappeared in an Array Given an array of integers where 1 ≤ a[i] ≤ n (n = ...
- pyqt多线程进度条
ui.py # -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'ui.ui' # # Creat ...
- centos6.0和7.4默认网卡配置
6.0 vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE="eth0" NM_CONTROLLED="yes&qu ...