ݺߣ

ݺߣShare 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 тестове (20)

Професия 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 Introduction
Doncho 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 testing
Kalin 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), занятие №3 - JavaScript (част 1/2)
Курс по уеб програмиране (2015), занятие №3 - JavaScript (част 1/2)Курс по уеб програмиране (2015), занятие №3 - JavaScript (част 1/2)
Курс по уеб програмиране (2015), занятие №3 - JavaScript (част 1/2)
DAVID Academy
Курс по уеб програмиране (2015), занятие №1 - HTML
Курс по уеб програмиране (2015), занятие №1 - HTMLКурс по уеб програмиране (2015), занятие №1 - HTML
Курс по уеб програмиране (2015), занятие №1 - HTML
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
Въведение в Perl
Krasimir Berov (Красимир Беров)
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
Професия 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
Telerik Academy Introduction
Telerik Academy IntroductionTelerik Academy Introduction
Telerik Academy Introduction
Doncho 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 testing
Kalin Vasilev
Курс по уеб програмиране (2014), занятие №3 - JavaScript (част 1/2)
Курс по уеб програмиране (2014), занятие №3 - JavaScript (част 1/2)Курс по уеб програмиране (2014), занятие №3 - JavaScript (част 1/2)
Курс по уеб програмиране (2014), занятие №3 - JavaScript (част 1/2)
DAVID Academy
Курс по уеб програмиране (2015), занятие №3 - JavaScript (част 1/2)
Курс по уеб програмиране (2015), занятие №3 - JavaScript (част 1/2)Курс по уеб програмиране (2015), занятие №3 - JavaScript (част 1/2)
Курс по уеб програмиране (2015), занятие №3 - JavaScript (част 1/2)
DAVID Academy
Курс по уеб програмиране (2015), занятие №1 - HTML
Курс по уеб програмиране (2015), занятие №1 - HTMLКурс по уеб програмиране (2015), занятие №1 - HTML
Курс по уеб програмиране (2015), занятие №1 - HTML
DAVID Academy
Тестове на уеб приложения
Тестове на уеб приложенияТестове на уеб приложения
Тестове на уеб приложения
Kalin Vasilev
Училищен курс по програмиране на C# (2013/2014), занятие №11
Училищен курс по програмиране на C# (2013/2014), занятие №11Училищен курс по програмиране на C# (2013/2014), занятие №11
Училищен курс по програмиране на C# (2013/2014), занятие №11
DAVID Academy
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

More from Georgi Mirchev (6)

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
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
Динамична памет (оператори new и delete) в C++
Динамична памет (оператори new и delete) в C++Динамична памет (оператори new и delete) в C++
Динамична памет (оператори new и delete) в C++
Georgi Mirchev
Основи на Андроид
Основи на АндроидОснови на Андроид
Основи на Андроид
Georgi Mirchev
Основи на програмирането за андроид
Основи на програмирането за андроидОснови на програмирането за андроид
Основи на програмирането за андроид
Georgi Mirchev
Ad

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 дизайна тестовите методи да биват създавани преди методите, които тестват.