SlideShare a Scribd company logo
Какво представляват
  JUnit тестовете?
Това е framework за тестване на парчета от
код(класове или методи) за Java, който
също така се използва в много други езици
като:
C# (NUnit)                          Адрес:
C++ (CPPUnit)
Fortran (fUnit)
Delphi (DUnit)
Free Pascal (FPCUnit)
JavaScript (JSUnit)
Objective-C (OCUnit)
Perl (Test::Class and Test::Unit)
PHP (PHPUnit)
Python (PyUnit)
R (RUnit)
Цели:
- При правилно планиране да улесни живота на
  програмиста

- Бързо и качествено писане на код

- Лесно установяване и поправяне на възникналите
  грешки

- По-малка вероятност за изскачане на неочаквани
  грешки по време на изпълнение на кода
Как работи JUnit?
Като се създават тестови класове, в които се:

- Създават тестови случаи на дадени методи

- Извикват някои от вградените функции на JUnit като
  (assertEquals(), fail(), suite(), setUp(), tearDown())

- Извикват методи на други тестови класове

- Създават т.нар. Фалшиви обекти
Какво да тестваме?
       Принципът Right-BICEP:


- Right – резултатите правилни ли са ?

-B(boundary) – всички гранични условия правилни ли са ?

-I(inverse) – можете ли да проверите връзките между класовете в обратен
ред ?

-C(cross-check) – можете ли да проверявате резултатите по различен
начин ?

-E(error) – може те ли да предизвиквате възникването на грешки ?

-P(performance) – производителността в границите ли е ?
По какво да познаем добрите
          тестове?
   Принципът A-TRIP:

                 - A – automatic – автоматичен

                 -T – Thorough – обстоен

                 -R – Repeatable – лесно повторяем

                 -I – Independent - независим

                 -P – Professional – професионално написан
Допълнителни неща
Тестовият код при по-големите проекти е КОЛКОТО кодът на самия
проект.

Тестват се само функциите, които съдържат в себе си много сметки или които
могат да върнат неочакван резултат.

Обичайна практика е при Test-Driven дизайна тестовите методи да биват
създавани преди методите, които тестват.

More Related Content

Similar to J-Unit тестове

Професия QA инженер - SoftUniConf June 2015
Професия QA инженер - SoftUniConf June 2015Професия QA инженер - SoftUniConf June 2015
Професия QA инженер - SoftUniConf June 2015
Peter Sabev
 
Курс по програмиране на C# 2013 - 6. Обектно-ориентирано програмиране. Класов...
Курс по програмиране на C# 2013 - 6. Обектно-ориентирано програмиране. Класов...Курс по програмиране на C# 2013 - 6. Обектно-ориентирано програмиране. Класов...
Курс по програмиране на C# 2013 - 6. Обектно-ориентирано програмиране. Класов...
DAVID Academy
 
Java kurs
Java kursJava kurs
Java kurs
RaynaITSTEP
 
Telerik Academy Introduction
Telerik Academy IntroductionTelerik Academy Introduction
Telerik Academy IntroductionDoncho Minkov
 
Демо урок по програмиране със Светлин Наков
Демо урок по програмиране със Светлин НаковДемо урок по програмиране със Светлин Наков
Демо урок по програмиране със Светлин Наков
Svetlin Nakov
 
[Dev.bg] CI from scratch with Jenkins
[Dev.bg] CI from scratch with Jenkins[Dev.bg] CI from scratch with Jenkins
[Dev.bg] CI from scratch with Jenkins
Borislav Traykov
 
Курс - Качество на софтуера - част 1
Курс - Качество на софтуера - част 1Курс - Качество на софтуера - част 1
Курс - Качество на софтуера - част 1
Kalin Vasilev
 
Курс качество на софтуера - част 1
Курс качество на софтуера - част 1Курс качество на софтуера - част 1
Курс качество на софтуера - част 1
Kalin Vasilev
 
Тестове за ползваемост - Usability testing
Тестове за ползваемост - Usability testingТестове за ползваемост - Usability testing
Тестове за ползваемост - Usability testingKalin Vasilev
 
DrupalCamp Sofia 2015
DrupalCamp Sofia 2015DrupalCamp Sofia 2015
DrupalCamp Sofia 2015
Bozhidar Boshnakov
 
Курс по уеб програмиране (2014), занятие №3 - JavaScript (част 1/2)
Курс по уеб програмиране (2014), занятие №3 - JavaScript (част 1/2)Курс по уеб програмиране (2014), занятие №3 - JavaScript (част 1/2)
Курс по уеб програмиране (2014), занятие №3 - JavaScript (част 1/2)
DAVID Academy
 
Курс по уеб програмиране (2015), занятие №1 - HTML
Курс по уеб програмиране (2015), занятие №1 - HTMLКурс по уеб програмиране (2015), занятие №1 - HTML
Курс по уеб програмиране (2015), занятие №1 - HTML
DAVID Academy
 
Курс по уеб програмиране (2015), занятие №3 - JavaScript (част 1/2)
Курс по уеб програмиране (2015), занятие №3 - JavaScript (част 1/2)Курс по уеб програмиране (2015), занятие №3 - JavaScript (част 1/2)
Курс по уеб програмиране (2015), занятие №3 - JavaScript (част 1/2)
DAVID Academy
 
Тестове на уеб приложения
Тестове на уеб приложенияТестове на уеб приложения
Тестове на уеб приложения
Kalin Vasilev
 
Училищен курс по програмиране на C# (2013/2014), занятие №11
Училищен курс по програмиране на C# (2013/2014), занятие №11Училищен курс по програмиране на C# (2013/2014), занятие №11
Училищен курс по програмиране на C# (2013/2014), занятие №11
DAVID Academy
 
Въведение в Perl
Въведение в PerlВъведение в Perl
Acceptance testing with Selenium 2 and PHPUnit
Acceptance testing with Selenium 2 and PHPUnitAcceptance testing with Selenium 2 and PHPUnit
Acceptance testing with Selenium 2 and PHPUnit
Bisser Todorov
 
Безмилостно тестване на уеб приложения със Selenium
Безмилостно тестване на уеб приложения със SeleniumБезмилостно тестване на уеб приложения със Selenium
Безмилостно тестване на уеб приложения със Selenium
svilen.ivanov
 

Similar to J-Unit тестове (20)

Професия QA инженер - SoftUniConf June 2015
Професия QA инженер - SoftUniConf June 2015Професия QA инженер - SoftUniConf June 2015
Професия QA инженер - SoftUniConf June 2015
 
Курс по програмиране на C# 2013 - 6. Обектно-ориентирано програмиране. Класов...
Курс по програмиране на C# 2013 - 6. Обектно-ориентирано програмиране. Класов...Курс по програмиране на C# 2013 - 6. Обектно-ориентирано програмиране. Класов...
Курс по програмиране на C# 2013 - 6. Обектно-ориентирано програмиране. Класов...
 
Programirane i organizaciq
Programirane i organizaciqProgramirane i organizaciq
Programirane i organizaciq
 
Java kurs
Java kursJava kurs
Java kurs
 
Telerik Academy Introduction
Telerik Academy IntroductionTelerik Academy Introduction
Telerik Academy Introduction
 
Демо урок по програмиране със Светлин Наков
Демо урок по програмиране със Светлин НаковДемо урок по програмиране със Светлин Наков
Демо урок по програмиране със Светлин Наков
 
[Dev.bg] CI from scratch with Jenkins
[Dev.bg] CI from scratch with Jenkins[Dev.bg] CI from scratch with Jenkins
[Dev.bg] CI from scratch with Jenkins
 
Курс - Качество на софтуера - част 1
Курс - Качество на софтуера - част 1Курс - Качество на софтуера - част 1
Курс - Качество на софтуера - част 1
 
Курс качество на софтуера - част 1
Курс качество на софтуера - част 1Курс качество на софтуера - част 1
Курс качество на софтуера - част 1
 
Тестове за ползваемост - Usability testing
Тестове за ползваемост - Usability testingТестове за ползваемост - Usability testing
Тестове за ползваемост - Usability testing
 
DrupalCamp Sofia 2015
DrupalCamp Sofia 2015DrupalCamp Sofia 2015
DrupalCamp Sofia 2015
 
Курс по уеб програмиране (2014), занятие №3 - JavaScript (част 1/2)
Курс по уеб програмиране (2014), занятие №3 - JavaScript (част 1/2)Курс по уеб програмиране (2014), занятие №3 - JavaScript (част 1/2)
Курс по уеб програмиране (2014), занятие №3 - JavaScript (част 1/2)
 
Курс по уеб програмиране (2015), занятие №1 - HTML
Курс по уеб програмиране (2015), занятие №1 - HTMLКурс по уеб програмиране (2015), занятие №1 - HTML
Курс по уеб програмиране (2015), занятие №1 - HTML
 
Курс по уеб програмиране (2015), занятие №3 - JavaScript (част 1/2)
Курс по уеб програмиране (2015), занятие №3 - JavaScript (част 1/2)Курс по уеб програмиране (2015), занятие №3 - JavaScript (част 1/2)
Курс по уеб програмиране (2015), занятие №3 - JavaScript (част 1/2)
 
Тестове на уеб приложения
Тестове на уеб приложенияТестове на уеб приложения
Тестове на уеб приложения
 
Училищен курс по програмиране на C# (2013/2014), занятие №11
Училищен курс по програмиране на C# (2013/2014), занятие №11Училищен курс по програмиране на C# (2013/2014), занятие №11
Училищен курс по програмиране на C# (2013/2014), занятие №11
 
Въведение в Perl
Въведение в PerlВъведение в Perl
Въведение в Perl
 
Acceptance testing with Selenium 2 and PHPUnit
Acceptance testing with Selenium 2 and PHPUnitAcceptance testing with Selenium 2 and PHPUnit
Acceptance testing with Selenium 2 and PHPUnit
 
Why do we need a language like go?
Why do we need a language like go?Why do we need a language like go?
Why do we need a language like go?
 
Безмилостно тестване на уеб приложения със Selenium
Безмилостно тестване на уеб приложения със SeleniumБезмилостно тестване на уеб приложения със Selenium
Безмилостно тестване на уеб приложения със Selenium
 

More from Georgi Mirchev

Hear My Thoughts - Server
Hear My Thoughts - ServerHear My Thoughts - Server
Hear My Thoughts - Server
Georgi Mirchev
 
HearMyThoughts - Android app for helping deaf people
HearMyThoughts - Android app for helping deaf peopleHearMyThoughts - Android app for helping deaf people
HearMyThoughts - Android app for helping deaf people
Georgi Mirchev
 
Optical storagе
Optical storagеOptical storagе
Optical storagе
Georgi Mirchev
 
Динамична памет (оператори new и delete) в C++
Динамична памет (оператори new и delete) в C++Динамична памет (оператори new и delete) в C++
Динамична памет (оператори new и delete) в C++
Georgi Mirchev
 
Основи на Андроид
Основи на АндроидОснови на Андроид
Основи на Андроид
Georgi Mirchev
 
Основи на програмирането за андроид
Основи на програмирането за андроидОснови на програмирането за андроид
Основи на програмирането за андроид
Georgi Mirchev
 

More from Georgi Mirchev (6)

Hear My Thoughts - Server
Hear My Thoughts - ServerHear My Thoughts - Server
Hear My Thoughts - Server
 
HearMyThoughts - Android app for helping deaf people
HearMyThoughts - Android app for helping deaf peopleHearMyThoughts - Android app for helping deaf people
HearMyThoughts - Android app for helping deaf people
 
Optical storagе
Optical storagеOptical storagе
Optical storagе
 
Динамична памет (оператори new и delete) в C++
Динамична памет (оператори new и delete) в C++Динамична памет (оператори new и delete) в C++
Динамична памет (оператори new и delete) в C++
 
Основи на Андроид
Основи на АндроидОснови на Андроид
Основи на Андроид
 
Основи на програмирането за андроид
Основи на програмирането за андроидОснови на програмирането за андроид
Основи на програмирането за андроид
 

J-Unit тестове

  • 1. Какво представляват JUnit тестовете?
  • 2. Това е framework за тестване на парчета от код(класове или методи) за Java, който също така се използва в много други езици като: C# (NUnit) Адрес: C++ (CPPUnit) Fortran (fUnit) Delphi (DUnit) Free Pascal (FPCUnit) JavaScript (JSUnit) Objective-C (OCUnit) Perl (Test::Class and Test::Unit) PHP (PHPUnit) Python (PyUnit) R (RUnit)
  • 3. Цели: - При правилно планиране да улесни живота на програмиста - Бързо и качествено писане на код - Лесно установяване и поправяне на възникналите грешки - По-малка вероятност за изскачане на неочаквани грешки по време на изпълнение на кода
  • 4. Как работи JUnit? Като се създават тестови класове, в които се: - Създават тестови случаи на дадени методи - Извикват някои от вградените функции на JUnit като (assertEquals(), fail(), suite(), setUp(), tearDown()) - Извикват методи на други тестови класове - Създават т.нар. Фалшиви обекти
  • 5. Какво да тестваме? Принципът Right-BICEP: - Right – резултатите правилни ли са ? -B(boundary) – всички гранични условия правилни ли са ? -I(inverse) – можете ли да проверите връзките между класовете в обратен ред ? -C(cross-check) – можете ли да проверявате резултатите по различен начин ? -E(error) – може те ли да предизвиквате възникването на грешки ? -P(performance) – производителността в границите ли е ?
  • 6. По какво да познаем добрите тестове? Принципът A-TRIP: - A – automatic – автоматичен -T – Thorough – обстоен -R – Repeatable – лесно повторяем -I – Independent - независим -P – Professional – професионално написан
  • 7. Допълнителни неща Тестовият код при по-големите проекти е КОЛКОТО кодът на самия проект. Тестват се само функциите, които съдържат в себе си много сметки или които могат да върнат неочакван резултат. Обичайна практика е при Test-Driven дизайна тестовите методи да биват създавани преди методите, които тестват.