此 文主要讲述用 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. 【BZOJ】3223: Tyvj 1729 文艺平衡树(splay)

    http://www.lydsy.com/JudgeOnline/problem.php?id=3223 默默的.. #include <cstdio> #include <cstr ...

  2. OpenCV 2.4.10 Linux Qt Conifguration

    Download CMake 2.8.12 Extract the file, and run "./bootstrap", then "make", then ...

  3. Ubuntu 下误修改用户组导致sudo命令无效

    1.手贱地修改了当前用户的权限组,导致sudo命令无法使用,且root用户的密码尚未修改,登陆不了root用户. 2.切换到recoverymode ,使用root用户登陆 3.执行mount -o ...

  4. <html:option获取文本值

    <p class="w120">变更后IP:</p> <div class="comBobox w200 f_l"> < ...

  5. Mininet实验 基于Mininet实现BGP路径挟持攻击实验

    参考:基于Mininet实现BGP路径挟持攻击实验 实验目的: 掌握如何mininet内模拟AS. 掌握BGP路径挟持的原理和分析过程. 实验原理: 互联网是由相互连接的自治系统AS组成的,通过一个通 ...

  6. 以http形式启动uwsgi服务

    uwsgi yourfile.ini # 配置文件 [uwsgi] http = 127.0.0.1:3106 socket = 127.0.0.1:3006 chdir = /www/student ...

  7. 常用Ubuntu 命令

    sudo apt-get updatesudo apt-get upgrade以下2選1sudo apt-get install ubuntu-desktop如果你只想安装必要的桌面管理软件而不想安装 ...

  8. Unity 区分不同平台

    问题:公司开发的游戏实在android平台上运行,但是我们是在windows平台下进行开发,OK ,经常有些地方开发完之后就要换到android上面,能区分平台的不同就可以对代码做区分处理 回答:un ...

  9. wordpress为dashboard添加样式

    function my_admin_theme_style() { wp_enqueue_style('my-admin-style', get_template_directory_uri() . ...

  10. HelloWorld之jetty运行

    jetty是一个轻便的嵌入式servlet容器.其启动运行非常简单.eclipse下运行jetty容器有如下几步, 一.建一个普通的java工程 二.把jetty需要的包导入工程分别是jetty-6. ...