Submit Search
Upload
Beginner Training in UT Development
•
0 likes
•
698 views
AI-enhanced title
Return on Intelligence
Follow
webinar presentation http://www.returnonintelligence.ru/webinars/unit-tests/
Read less
Read more
Software
Report
Share
Report
Share
1 of 25
Recommended
The Seven Pillars Of Asp.Net
The Seven Pillars Of Asp.Net
Anand Kumar Rajana
Top 20 Junit interview questions for sdet
Top 20 Junit interview questions for sdet
DevLabs Alliance
Tortuga-A simulation software
Tortuga-A simulation software
Syeda Nyma
Top 20 cucumber interview questions for sdet
Top 20 cucumber interview questions for sdet
DevLabs Alliance
Assessing Unit Test Quality
Assessing Unit Test Quality
guest268ee8
Java questions for viva
Java questions for viva
Vipul Naik
Java Interview Questions by NageswaraRao
Java Interview Questions by NageswaraRao
JavabynataraJ
Java/J2EE interview Qestions
Java/J2EE interview Qestions
Arun Vasanth
Recommended
The Seven Pillars Of Asp.Net
The Seven Pillars Of Asp.Net
Anand Kumar Rajana
Top 20 Junit interview questions for sdet
Top 20 Junit interview questions for sdet
DevLabs Alliance
Tortuga-A simulation software
Tortuga-A simulation software
Syeda Nyma
Top 20 cucumber interview questions for sdet
Top 20 cucumber interview questions for sdet
DevLabs Alliance
Assessing Unit Test Quality
Assessing Unit Test Quality
guest268ee8
Java questions for viva
Java questions for viva
Vipul Naik
Java Interview Questions by NageswaraRao
Java Interview Questions by NageswaraRao
JavabynataraJ
Java/J2EE interview Qestions
Java/J2EE interview Qestions
Arun Vasanth
Questions of java
Questions of java
Waseem Wasi
Unit testing (eng)
Unit testing (eng)
Anatoliy Okhotnikov
DevLabs Alliance Top 50 Selenium Interview Questions for SDET
DevLabs Alliance Top 50 Selenium Interview Questions for SDET
DevLabs Alliance
Top 20 software testing interview questions for sdet
Top 20 software testing interview questions for sdet
DevLabs Alliance
Php unit (eng)
Php unit (eng)
Anatoliy Okhotnikov
Being a professional software tester
Being a professional software tester
Anton Keks
Debugging
Debugging
Olivier Teytaud
Software Engineering - RS3
Software Engineering - RS3
AtakanAral
RPG Program for Unit Testing RPG
RPG Program for Unit Testing RPG
Greg.Helton
Type Annotations in Java 8
Type Annotations in Java 8
FinLingua, Inc.
37 Java Interview Questions
37 Java Interview Questions
Arc & Codementor
201 core java interview questions oo ps interview questions - javatpoint
201 core java interview questions oo ps interview questions - javatpoint
ravi tyagi
Cursus phpunit
Cursus phpunit
Nick Belhomme
Understanding Annotations in Java
Understanding Annotations in Java
Ecommerce Solution Provider SysIQ
Spring IO 2015 Spock Workshop
Spring IO 2015 Spock Workshop
Fernando Redondo Ramírez
Agile Days Twin Cities 2011
Agile Days Twin Cities 2011
Brian Repko
Stopping the Rot - Putting Legacy C++ Under Test
Stopping the Rot - Putting Legacy C++ Under Test
Seb Rose
Introduction about Python by JanBask Training
Introduction about Python by JanBask Training
JanBask Training
Using Entity Framework's New POCO Features: Part 1, by Julie Lerman
Using Entity Framework's New POCO Features: Part 1, by Julie Lerman
Julie Lerman
Introduction to Unified Functional Testing 12 (UFT)
Introduction to Unified Functional Testing 12 (UFT)
Archana Krushnan
Introduction to Unified Func. Test..pptx
Introduction to Unified Func. Test..pptx
JamelPandiin2
Behavior Driven Development with SpecFlow
Behavior Driven Development with SpecFlow
Rachid Kherrazi
More Related Content
What's hot
Questions of java
Questions of java
Waseem Wasi
Unit testing (eng)
Unit testing (eng)
Anatoliy Okhotnikov
DevLabs Alliance Top 50 Selenium Interview Questions for SDET
DevLabs Alliance Top 50 Selenium Interview Questions for SDET
DevLabs Alliance
Top 20 software testing interview questions for sdet
Top 20 software testing interview questions for sdet
DevLabs Alliance
Php unit (eng)
Php unit (eng)
Anatoliy Okhotnikov
Being a professional software tester
Being a professional software tester
Anton Keks
Debugging
Debugging
Olivier Teytaud
Software Engineering - RS3
Software Engineering - RS3
AtakanAral
RPG Program for Unit Testing RPG
RPG Program for Unit Testing RPG
Greg.Helton
Type Annotations in Java 8
Type Annotations in Java 8
FinLingua, Inc.
37 Java Interview Questions
37 Java Interview Questions
Arc & Codementor
201 core java interview questions oo ps interview questions - javatpoint
201 core java interview questions oo ps interview questions - javatpoint
ravi tyagi
Cursus phpunit
Cursus phpunit
Nick Belhomme
Understanding Annotations in Java
Understanding Annotations in Java
Ecommerce Solution Provider SysIQ
Spring IO 2015 Spock Workshop
Spring IO 2015 Spock Workshop
Fernando Redondo Ramírez
Agile Days Twin Cities 2011
Agile Days Twin Cities 2011
Brian Repko
Stopping the Rot - Putting Legacy C++ Under Test
Stopping the Rot - Putting Legacy C++ Under Test
Seb Rose
Introduction about Python by JanBask Training
Introduction about Python by JanBask Training
JanBask Training
Using Entity Framework's New POCO Features: Part 1, by Julie Lerman
Using Entity Framework's New POCO Features: Part 1, by Julie Lerman
Julie Lerman
What's hot
(19)
Questions of java
Questions of java
Unit testing (eng)
Unit testing (eng)
DevLabs Alliance Top 50 Selenium Interview Questions for SDET
DevLabs Alliance Top 50 Selenium Interview Questions for SDET
Top 20 software testing interview questions for sdet
Top 20 software testing interview questions for sdet
Php unit (eng)
Php unit (eng)
Being a professional software tester
Being a professional software tester
Debugging
Debugging
Software Engineering - RS3
Software Engineering - RS3
RPG Program for Unit Testing RPG
RPG Program for Unit Testing RPG
Type Annotations in Java 8
Type Annotations in Java 8
37 Java Interview Questions
37 Java Interview Questions
201 core java interview questions oo ps interview questions - javatpoint
201 core java interview questions oo ps interview questions - javatpoint
Cursus phpunit
Cursus phpunit
Understanding Annotations in Java
Understanding Annotations in Java
Spring IO 2015 Spock Workshop
Spring IO 2015 Spock Workshop
Agile Days Twin Cities 2011
Agile Days Twin Cities 2011
Stopping the Rot - Putting Legacy C++ Under Test
Stopping the Rot - Putting Legacy C++ Under Test
Introduction about Python by JanBask Training
Introduction about Python by JanBask Training
Using Entity Framework's New POCO Features: Part 1, by Julie Lerman
Using Entity Framework's New POCO Features: Part 1, by Julie Lerman
Similar to Beginner Training in UT Development
Introduction to Unified Functional Testing 12 (UFT)
Introduction to Unified Functional Testing 12 (UFT)
Archana Krushnan
Introduction to Unified Func. Test..pptx
Introduction to Unified Func. Test..pptx
JamelPandiin2
Behavior Driven Development with SpecFlow
Behavior Driven Development with SpecFlow
Rachid Kherrazi
Behavior Driven Testing with SpecFlow
Behavior Driven Testing with SpecFlow
Rachid Kherrazi
TDD - Agile
TDD - Agile
harinderpisces
Continuous Delivery with a PaaS Application
Continuous Delivery with a PaaS Application
Mark Rendell
UFT- New features and comparison with QTP
UFT- New features and comparison with QTP
Rita Singh
30 days or less: New Features to Production
30 days or less: New Features to Production
Karthik Gaekwad
UFT An advance version of QTP
UFT An advance version of QTP
Rita Singh
Fundamentals of DevOps and CI/CD
Fundamentals of DevOps and CI/CD
Batyr Nuryyev
Test driven development and unit testing with examples in C++
Test driven development and unit testing with examples in C++
Hong Le Van
Introduction To UnitTesting & JUnit
Introduction To UnitTesting & JUnit
Mindfire Solutions
Cinfony - Bring cheminformatics toolkits into tune
Cinfony - Bring cheminformatics toolkits into tune
baoilleach
Munit_in_mule_naveen
Munit_in_mule_naveen
VenkataNaveen Kumar
Why test with flex unit
Why test with flex unit
michael.labriola
Tales from the Dark Side: Ori Bendet Selenium Conference India 2016
Tales from the Dark Side: Ori Bendet Selenium Conference India 2016
Ori Bendet
Using Embedded Linux for Infrastructure Systems
Using Embedded Linux for Infrastructure Systems
Yoshitake Kobayashi
Functest in Depth
Functest in Depth
OPNFV
Implementing TDD in for .net Core applications
Implementing TDD in for .net Core applications
Ahmad Kazemi
Devops - Continuous Integration And Continuous Development
Devops - Continuous Integration And Continuous Development
SandyJohn5
Similar to Beginner Training in UT Development
(20)
Introduction to Unified Functional Testing 12 (UFT)
Introduction to Unified Functional Testing 12 (UFT)
Introduction to Unified Func. Test..pptx
Introduction to Unified Func. Test..pptx
Behavior Driven Development with SpecFlow
Behavior Driven Development with SpecFlow
Behavior Driven Testing with SpecFlow
Behavior Driven Testing with SpecFlow
TDD - Agile
TDD - Agile
Continuous Delivery with a PaaS Application
Continuous Delivery with a PaaS Application
UFT- New features and comparison with QTP
UFT- New features and comparison with QTP
30 days or less: New Features to Production
30 days or less: New Features to Production
UFT An advance version of QTP
UFT An advance version of QTP
Fundamentals of DevOps and CI/CD
Fundamentals of DevOps and CI/CD
Test driven development and unit testing with examples in C++
Test driven development and unit testing with examples in C++
Introduction To UnitTesting & JUnit
Introduction To UnitTesting & JUnit
Cinfony - Bring cheminformatics toolkits into tune
Cinfony - Bring cheminformatics toolkits into tune
Munit_in_mule_naveen
Munit_in_mule_naveen
Why test with flex unit
Why test with flex unit
Tales from the Dark Side: Ori Bendet Selenium Conference India 2016
Tales from the Dark Side: Ori Bendet Selenium Conference India 2016
Using Embedded Linux for Infrastructure Systems
Using Embedded Linux for Infrastructure Systems
Functest in Depth
Functest in Depth
Implementing TDD in for .net Core applications
Implementing TDD in for .net Core applications
Devops - Continuous Integration And Continuous Development
Devops - Continuous Integration And Continuous Development
More from Return on Intelligence
Clean Code Approach
Clean Code Approach
Return on Intelligence
Code Coverage
Code Coverage
Return on Intelligence
Effective Communication in english
Effective Communication in english
Return on Intelligence
Anti-patterns
Anti-patterns
Return on Intelligence
Conflicts Resolving
Conflicts Resolving
Return on Intelligence
Database versioning with liquibase
Database versioning with liquibase
Return on Intelligence
Effective Feedback
Effective Feedback
Return on Intelligence
English for Negotiations 2016
English for Negotiations 2016
Return on Intelligence
Lean Software Development
Lean Software Development
Return on Intelligence
Quick Start to AngularJS
Quick Start to AngularJS
Return on Intelligence
Introduction to Backbone.js & Marionette.js
Introduction to Backbone.js & Marionette.js
Return on Intelligence
Types of testing and their classification
Types of testing and their classification
Return on Intelligence
Introduction to EJB
Introduction to EJB
Return on Intelligence
Enterprise Service Bus
Enterprise Service Bus
Return on Intelligence
Apache cassandra - future without boundaries (part3)
Apache cassandra - future without boundaries (part3)
Return on Intelligence
Apache cassandra - future without boundaries (part2)
Apache cassandra - future without boundaries (part2)
Return on Intelligence
Apache cassandra - future without boundaries (part1)
Apache cassandra - future without boundaries (part1)
Return on Intelligence
Career development in exigen services
Career development in exigen services
Return on Intelligence
Introduction to selenium web driver
Introduction to selenium web driver
Return on Intelligence
Enterprise service bus part 2
Enterprise service bus part 2
Return on Intelligence
More from Return on Intelligence
(20)
Clean Code Approach
Clean Code Approach
Code Coverage
Code Coverage
Effective Communication in english
Effective Communication in english
Anti-patterns
Anti-patterns
Conflicts Resolving
Conflicts Resolving
Database versioning with liquibase
Database versioning with liquibase
Effective Feedback
Effective Feedback
English for Negotiations 2016
English for Negotiations 2016
Lean Software Development
Lean Software Development
Quick Start to AngularJS
Quick Start to AngularJS
Introduction to Backbone.js & Marionette.js
Introduction to Backbone.js & Marionette.js
Types of testing and their classification
Types of testing and their classification
Introduction to EJB
Introduction to EJB
Enterprise Service Bus
Enterprise Service Bus
Apache cassandra - future without boundaries (part3)
Apache cassandra - future without boundaries (part3)
Apache cassandra - future without boundaries (part2)
Apache cassandra - future without boundaries (part2)
Apache cassandra - future without boundaries (part1)
Apache cassandra - future without boundaries (part1)
Career development in exigen services
Career development in exigen services
Introduction to selenium web driver
Introduction to selenium web driver
Enterprise service bus part 2
Enterprise service bus part 2
Recently uploaded
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
VICTOR MAESTRE RAMIREZ
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
OnePlan Solutions
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
StefanoLambiase
EY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
Neo4j
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
Sujith Sukumaran
Professional Resume Template for Software Developers
Professional Resume Template for Software Developers
Vinodh Ram
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
Łukasz Chruściel
Asset Management Software - Infographic
Asset Management Software - Infographic
Hr365.us smith
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
Andreas Granig
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
Alina Yurenko
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
umasea
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Ahmed Mohamed
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
Christina Lin
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
Wave PLM
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽❤️🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽❤️🧑🏻 89...
gurkirankumar98700
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Christina Lin
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
Dinusha Kumarasiri
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
Hanief Utama
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
kotipi9215
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
qr0udbr0
Recently uploaded
(20)
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
EY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
Professional Resume Template for Software Developers
Professional Resume Template for Software Developers
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
Asset Management Software - Infographic
Asset Management Software - Infographic
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽❤️🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽❤️🧑🏻 89...
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
Beginner Training in UT Development
1.
© 2015 Return
on Intelligence, Inc. Confidential 1 Traning for beginers in UT development Designed by LibreOffice, Kubuntu 14.04, A.Tylevich, 2016 Unit Tests ? It is very simple and easy!
2.
© 2015 Return
on Intelligence, Inc. Confidential 2 About training This is introduction. Tries to explain why all this is necessary. A little of code, more philosophy and history Why ? For whom ? Designed by LibreOffice, Kubuntu 14.04
3.
© 2015 Return
on Intelligence, Inc. Confidential 3 Content Historical reference What are Unit Tests ? UT - what for they are necessary (philosophy) What is the Unit and what can be the Unit Approaches in UT Without frameworks (stub classes) Frameworks (examples, annotations) UT frameworks Junit 3, 4 (Asserts …) TestNG Mock frameworks JMock EasyMock Mockito EJB Mock Container Additional frameworks Equals Verifier Addition of dependences in pom.xml Code Coverage Cobertura Covering examples … tools Automation tests QTP, Selenium FitNesse Links to literature and sources Designed by LibreOffice, Kubuntu 14.04
4.
© 2015 Return
on Intelligence, Inc. Confidential 4 One of the first attempts to create a programming language, from 1943 to 1945 1940 1980 1990 In the early of 1950s the quantity of the developed software increased, and programs became very big 1950 FORTRAN(1954) ALGOL(1960) Mashine languages Pascal(1970), C(1972), SQL(1978) C++(1980), Ada(1983), Perl(1987) PHP(1995), Java(1995), JavaScript(1995) Some important languages were developed: Python (1991), Ruby (1993), Delphi (1995), ... Improvement of the paradigms defined in the previous decades NewParadigms and… Historical reference Programming languages Designed by LibreOffice, Kubuntu 14.04 1960 New languages appear: Smalltalk (1972) 1970
5.
© 2015 Return
on Intelligence, Inc. Confidential 5 Historical reference Designed by LibreOffice, Kubuntu 14.04 Testing 1980 Correctness-> searchforissues Preventionof mistakes Designand supportoftests Early 1990s, the testing includes planning, design, support and implementation of tests. The testing starts providing quality of the software. 1980s, a concept of the prevention of defects appears. Tests - method of the prevention of issues. Appears methodology of testing on all cycle of development. Exhaustive testing Early 1970s, testing was presented as "activities for confirmation of correctness of work of the software" From confirmations to search for issues 1970 19901960
6.
© 2015 Return
on Intelligence, Inc. Confidential 6 Framework SUnit appears for Smalltalk language in 1998 . Designed by LibreOffice, Kubuntu 14.04 Historical reference Testing SUnit represented structure and functionality to xUnit. CppUnit - a framework for C ++ DUnit - the tool for the environment of development of Delphi JUnit - library for Java NUnit - environment a unit testing for .NET phpUnit - library for PHP vbUnit - Visual Basic JsUnit (Jasmine) - JavaScript
7.
© 2015 Return
on Intelligence, Inc. Confidential 7 What are Unit Tests Unit Testing is a software testing process by which individual module of source code ... are tested to determine whether they are fit for use. What is the process? What is module ? Process — implementation, writing and run of Unit Tests Module — atomic part of a code Designed by LibreOffice, Kubuntu 14.04 Unit testing, wikipedia
8.
© 2015 Return
on Intelligence, Inc. Confidential 8 UT - what for they are necessary In the 1990s testing passed to ensuring the quality covering all cycle of development You constantly are engaged in testing (This is integration testing: "Test" buttons or class with name TestServer) Some customers demand a very high level of testing You need to understand how code works You need to write a part of code, but you have no opportunity to test it in actual environment and you exactly know what data will come to methods It isn't necessary to write unit tests, if You do the simple site of 3-5 html-pages with one form of sending the e-mail You are developed a simple flash games or banners You do the project for an exhibition You always write a code without mistakes, you have an ideal brain and gift of anticipation. Your code is so cool that it changes itself according to customer requirements. Periodically the code explains to the customer that his requirements don't need to be realized Designed by LibreOffice, Kubuntu 14.04 Philosophy
9.
© 2015 Return
on Intelligence, Inc. Confidential 9 What is the Unit Program Module Class Method That you will think up Unit - small self-sufficient part of a code realizing some behavior. Designed by LibreOffice, Kubuntu 14.04 What can be Unit
10.
© 2015 Return
on Intelligence, Inc. Confidential 10 Approaches in UT UT simple atomic testing TDD (Test-Driven Development) Development through testing. Designed by LibreOffice, Kubuntu 14.04 UT -> TDD -> BDD -> DDT
11.
© 2015 Return
on Intelligence, Inc. Confidential 11 Approaches in UT BDD (Behavior Driven Development) BDD is further evolution of ideas of TDD. DDT (Data-Driven Testing) Methodology of the testing operated by data. Designed by LibreOffice, Kubuntu 14.04 UT -> TDD -> BDD -> DDT
12.
© 2015 Return
on Intelligence, Inc. Confidential 12 Without frameworks RDP ? RDP ! Designed by LibreOffice, Kubuntu 14.04 Or how it was earlier ? Frameworks Or how it is now ? RDP. RDP.
13.
© 2015 Return
on Intelligence, Inc. Confidential 13 Framework JUnit 3 JUnit 4 Java version Java 1.4 Java 1.5 Extends TestCase - Overrides setUp & tearDown annotations Annotations - @Before @After @Test @Ignore Repeated RepeatedTest @Repeat( times = xxx ) UT Frameworks JUnit 3, 4 (Asserts…) Designed by LibreOffice, Kubuntu 14.04
14.
© 2015 Return
on Intelligence, Inc. Confidential 14 UT Frameworks Designed by LibreOffice, Kubuntu 14.04 TestNG Framework JUnit 4 TestNG Test annotation @Test @Test Start before the suit – @BeforeSuite Start after the suit – @AfterSuite Start before test – @BeforeTest Start after test – @AfterTest Start before test from group – @BeforeGroups Start after test from group – @AfterGroups Start before a class @BeforeClass @BeforeClass Start after a class @AfterClass @AfterClass Start before each test method @Before @BeforeMethod Start after each test method @After @AfterMethod To ignore the test @Ignore @Test(enable=false) To expect an exception @Test (expected = Exception.class) @Test (expectedExceptions = Exception.class) Timeout @Test (timeout = 1000) @Test (timeout = 1000)
15.
© 2015 Return
on Intelligence, Inc. Confidential 15 UT Frameworks Designed by LibreOffice, Kubuntu 14.04 Addition of dependences into pom.xml JUnit 3 JUnit 4 TestNG <dependencies> ... <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> <dependencies> ... <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> </dependencies> <dependencies> ... <dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <version>6.9.10</version> <scope>test</scope> </dependency> </dependencies>
16.
© 2015 Return
on Intelligence, Inc. Confidential 16 Mock frameworks Designed by LibreOffice, Kubuntu 14.04 And additional frameworks JMock Mockito EasyMock EJB Mock Container Equals Verifier Framework JMock Mockito Type Proxy-based Proxy-based Stubbing Yes Yes Default return values 0, empty String, false, empty array, null 0, empty String, false, empty array, null Instances are Strict Non-strict Declarative No Yes Interface additional efforts From box Abstract class additional efforts ? Class additional efforts From box
17.
© 2015 Return
on Intelligence, Inc. Confidential 17 Mock frameworks Designed by LibreOffice, Kubuntu 14.04 Addition of dependences into pom.xml JMock Mockito Equals Verifier <dependencies> ... <dependency> <groupId>org.jmock</groupId> <artifactId>jmock</artifactId> <version>2.8.1</version> <scope>test</scope> </dependency> </dependencies> <dependencies> ... <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-all</artifactId> <version>1.10.19</version> <scope>test</scope> </dependency> </dependencies> <dependencies> … <dependency> <groupId>nl.jqno.equalsverifier</groupId> <artifactId>equalsverifier</artifactId> <version>1.7.7</version> <scope>test</scope> </dependency> </dependencies>
18.
© 2015 Return
on Intelligence, Inc. Confidential 18 Code Coverage Designed by LibreOffice, Kubuntu 14.04 Cobertura if (x == 0) { System.out.println("X is zero"); } else { System.out.println("X is invalid"); }
19.
© 2015 Return
on Intelligence, Inc. Confidential 19 Code Coverage Designed by LibreOffice, Kubuntu 14.04 Addition of Cobertura dependences into pom.xml Dependency section Build section Reporting section <dependencies> ... <dependency> <groupId> net.sourceforge.cobertura </groupId> <artifactId>cobertura</artifactId> <version>2.1.1</version> </dependency> </dependencies> <build> <plugins> ... <plugin> <groupId> org.codehaus.mojo </groupId> <artifactId> cobertura-maven-plugin </artifactId> <version>2.6</version> <configuration> <check> <...Rate> ...</...Rate> </check> <formats> <format>html</format> </formats> <instrumentation> <excludes> <exclude> ... /*.class</exclude> </excludes> </instrumentation> </configuration> </plugin> </plugins> </build> <reporting> <plugins> ... <plugin> <groupId> org.codehaus.mojo </groupId> <artifactId> cobertura-maven- plugin </artifactId> <version>2.6</version> <configuration> <formats> <format>html</format> <format>xml</format> </formats> </configuration> </plugin> </plugins> </reporting>
20.
© 2015 Return
on Intelligence, Inc. Confidential 20 Automation tests Designed by LibreOffice, Kubuntu 14.04 QTP, Selenium QTP Selenium Commercial tool Open source tool Tests can only be developed in QTP IDE Wide range of IDEs like Visual Studio, Eclipse, Netbeans Oly VB script Supports JAVA, .NET, Ruby, Perl, PHP, and many other User friendly and scripts are developed quickly Script requires more time to develop and high skills Latest version of HP ALM supports code that was developed 5 years back With new release of API the Test Scripts need to be updated
21.
© 2015 Return
on Intelligence, Inc. Confidential 21 Automation tests Designed by LibreOffice, Kubuntu 14.04 FitNesse
22.
© 2015 Return
on Intelligence, Inc. Confidential 22 Example Designed by LibreOffice, Kubuntu 14.04 Why UT are necessary
23.
© 2015 Return
on Intelligence, Inc. Confidential 23 Questions Designed by LibreOffice, Kubuntu 14.04
24.
© 2015 Return
on Intelligence, Inc. Confidential 24 Links Designed by LibreOffice, Kubuntu 14.04 History of programming languages https://en.wikipedia.org/wiki/History_of_programming_languages TDD https://en.wikipedia.org/wiki/Test-driven_development BDD https://en.wikipedia.org/wiki/Behavior-driven_development xUnit https://en.wikipedia.org/wiki/XUnit JUnit http://junit.org/cookbook.html Open Source Testing Tools in Java http://java-source.net/open-source/testing-tools Cobertura https://github.com/cobertura/cobertura/wiki/Roadmap http://cobertura.github.io/cobertura/ eCobertura (Eclipce plugin) http://ecobertura.johoop.de/ EqualsVerifier http://www.jqno.nl/equalsverifier/
25.
© 2015 Return
on Intelligence, Inc. Confidential 25 Links to webinars Designed by LibreOffice, Kubuntu 14.04 Вебинар "Introduction to Automation Testing" http://www.returnonintelligence.ru/webinars/introduction-to-automation-testing Вебинар "Code Coverage“ http://www.returnonintelligence.ru/webinars/code-coverage Вебинар "Testing Your Code“ (TDD) http://www.returnonintelligence.ru/webinars/testingyourcode Вебинар "Эволюция к Behavior Driven Development на примере популярного фреймворка JBehave" http://www.returnonintelligence.ru/webinars/bdd