此 文主要讲述用 TestNG 的基础理论知识,TestNG 的特定,编写测试过程三步骤,与 JUnit4+ 的差异,以此使亲对 TestNG 测试框架能够有一个简单的认知。

希望能对初学 TestNG 测试框架的亲们有所帮助。若有不足之处,敬请大神指正,不胜感激!

TestNG是什么?
TestNG是一个灵感来自于 JUnit 和 NUnit 的一个设计用来简化广泛的测试需求的开源自动化测试框架,其引入了一些新的功能,使其功能更强大,而且易于使用,但是 TestNG 不是 JUnit 的扩展。
它的目的是优于JUnit的,其从单元测试(隔离测试一个类)到集成测试(测试由有多个类多个包甚至多个外部框架组成的整个系统,例如运用服务器),尤其是当测试集成的类。其创造者 Cedric Beust(塞德里克·博伊斯特)消除了大部分的旧框架的限制,使开发人员能够编写更加灵活和强大的测试脚本进行测试工作。同时 TestNG 在很大程度上借鉴了 Java 注解(JDK5.0引入的),以此来定义测试,大大提升了脚本的可读性和易用性。

TestNG的特点

  1. annotation 注解
  2. TestNG 使用 Java 面向对象的功能
  3. 支持综合类测试(例如,默认情况下,没有必要创建一个新的测试每个测试方法的类的实例)
  4. 独立的编译时间测试代码运行时配置/数据信息
  5. 灵活的运行时配置
  6. 主要介绍“测试组”。当编译测试,只要问 TestNG 运行所有的“前端”的测试,或“快”,“慢”,“数据库”等
  7. 支持依赖测试方法,并行测试,负载测试,局部故障
  8. 灵活的插件 API
  9. 支持多线程测试

TestNG 编写测试过程三步骤:

  1. 编写测试的 业务逻辑并在代码中插入TestNG annotation
  2. 将测试信息添加到 testng.xml 文件或者 pom.xml 文件中
  3. 运行 TestNG

TestNG 和 JUnit4+ 的差异

  1. 设计目标的不同。TestNG 是一个设计用来简化广泛的测试需求的开源测试框架,其不仅仅应用于单元测试,而且可以用于集成测试;对比 JUnit 的只适合用于单元测试,TestNG 无疑走的更远。
  2. 测试过程的不同。TestNG 和 JUnit4+ 相比,多了一个将测试信息添加到 testng.xml 文件或者 pom.xml 文件,测试信息尤其是测试数据不再写死在测试代码中,好处就是修改测试数据时不需要修改代码/编译了,有助于将测试人员引入单元测试/集成测试。
  3. 用例是否可依赖。TestNG 中提供了测试用例之间的依赖关系,而 JUnit 每个的测试用力都是一个单独的个体,无法进行用例间的依赖测试

至此,TestNG学习-001-基础理论知识 顺利完结,希望此文能够给初识 TestNG 测试框架的您一份参考。

最后,非常感谢亲的驻足,希望此文能对亲有所帮助。热烈欢迎亲一起探讨,共同进步。非常感谢! ^_^

TestNG学习-001-基础理论知识的更多相关文章

  1. Ant学习-001-ant 基础知识及windows环境配置

    一.Ant 概要基础知识 Apache Ant 是一个将软件编译.测试.部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发,用以构建应用,或结合其他开源测试工具例如 git.T ...

  2. TestNG学习-002-annotaton 注解概述及其执行顺序

    此文主要讲述用 TestNG 基础的 annotation (注解)知识,及其执行的顺序,并通过一个 TestNG 简单的实例演示 annotation 的执行顺序. 希望能对初学 TestNG 测试 ...

  3. java基础理论知识的一些总结

    在学习Java初期,由于我们是刚开始接触Java,我们不仅需要牢牢掌握Java的基础理论知识,来为我们后面对Java更深层次的学习打好基础,而且我们需要养成编程人的思想习惯.来我们一起来探索Java基 ...

  4. jQuery学习笔记 - 基础知识扫盲入门篇

    jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...

  5. 学习javascript基础知识系列第二节 - this用法

    通过一段代码学习javascript基础知识系列 第二节 - this用法 this是面向对象语言中的一个重要概念,在JAVA,C#等大型语言中,this固定指向运行时的当前对象.但是在javascr ...

  6. 学习javascript基础知识系列第三节 - ()()用法

    总目录:通过一段代码学习javascript基础知识系列 注意: 为了便于执行和演示,建议使用chrome浏览器,按F12,然后按Esc(或手动选择)打开console,在console进行执行和演示 ...

  7. (1)写给Web初学者的教案-----学习Web的知识架构

    1:学习Web的知识架构 前文中我们简单的介绍了一些关于Web的基本知识,这里任老师再次强调一下凡是用浏览器打开的网站我们就称之为Web应用程序(B/S结构).除此之外其它需要下载安装的软件或是手机  ...

  8. 学习java接口知识

    学习java接口知识 //一个类最多只能有一个直接的父类.但是有多个间接的父类. java是单继承. class ye_01{ String name; } class fu_01 extends y ...

  9. 软件测试为什么需要学习Linux的知识?Linux学到什么程度?-log5

    ​软件测试为什么需要学习Linux的知识?学到什么程度?-log5 Dotest软件测试学堂-董浩 公司目前90%的服务器操作系统不是Windows,而是Linux(RedHat.Debian.Cen ...

随机推荐

  1. Codeforces Round #213 (Div. 2) B. The Fibonacci Segment

    #include <iostream> #include <algorithm> #include <vector> using namespace std; in ...

  2. 套题整理 Orz DXY

    弱弱的DXY 题目描述 DXY太弱了,以至于他已经不知道要如何解决调整一个数列的使得他变成一个严格上升序列. 输入格式 第 1 行,1 个整数 N 第 2 行,N 个整数 A1,A2,...,AN 输 ...

  3. jquery数组排序学习

    前面转载过一片关于js数组的一些基本能操作方法,本文结合实例对数组排序做简要探讨. 首先看一实例,一般涉及到排序都是动态数据,现在我们自己新建一数组进行模拟. html代码: <!DOCTYPE ...

  4. Mui - 全局css

    头部(mh) <header class="mui-bar mui-bar-nav"> <a class="mui-action-back mui-ic ...

  5. HTML&CSS----练习隐藏导航栏(三级导航)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. 释放用完的Excel COM组件

    How to Open; SaveAs; then Close an Excel 2013 (macro-enabled) workbook from PowerShell4   1. (http:/ ...

  7. 用Get-ADComputer取非常用属性的值

    由于GE使用的是Windows2003+Powershell2.0, 所以某些命令无法使用,比如想取lastLogon和lastLogonTimestamp这两个属性,在Powershell3.0下可 ...

  8. iOS dispatch_source_t的理解

    Dispatch Source是GCD中的一个基本类型,从字面意思可称为调度源,它的作用是当有一些特定的较底层的系统事件发生时,调度源会捕捉到这些事件,然后可以做其他的逻辑处理,调度源有多种类型,分别 ...

  9. Unity 父物体与子物体位置

         酷跑片段本来想做三条轨道,然后通过切换轨道来做,后面发现一种巧妙的方法,利用物体的父级偏移来实现轨道的切换. 比如上图,实际运动的是Car对象,通过修改MineControler的左右位置( ...

  10. memcached学习笔记1--概念

    1.memcached是danga的一个项目,最早是LiveJournal服务的,最初为了加速LiveJournal访问速度而开发,后来被很多大型网站采用 官网: http://www.danga.c ...