junit tutorial beginners what is junit testing
Този урок за JUnit за начинаещи обяснява какво е Unit Testing, Test Coverage и What is JUnit Testing Framework заедно с примери за JUnit Testcases:
Тази поредица от JUnit е подготвена да се фокусира върху нашата аудитория, която е абсолютно начинаеща, както и тази, която има добри познания по Java или JUnit с голям интерес към изучаването на JUnit.
Цялата поредица е изложена по такъв начин, че да можете да интерпретирате разликата между JUnit 4 и Junit 5.
Нека започнем да изследваме JUnit сега !!
Какво ще научите:
vr слушалки, които работят с xbox one
Списък с уроци в тази поредица JUnit
Урок # 1: Урок за JUnit за начинаещи - какво е тестване на JUnit? (Този урок)
Урок # 2: Изтеглете, инсталирайте и конфигурирайте JUnit в Eclipse
Урок № 3: JUnit тестове: Как да напиша JUnit тестови случаи с примери
Урок № 4: Какво е приспособление за тестване на JUnit: Урок с примери за JUnit 4
Урок № 5: Няколко начина за изпълнение на JUnit тестове
Урок # 6: Списък на анотациите на JUnit: JUnit 4 срещу JUnit 5
Урок № 7: JUnit Ignore Test Case: JUnit 4 @Ignore Vs JUnit 5 @Disabled
Урок № 8: JUnit Test Suite и тестови случаи за филтриране: JUnit 4 Vs JUnit 5
Урок № 9: Поръчка за изпълнение на JUnit тест: Ред на тестовете JUnit 4 Vs JUnit 5
Урок № 10: Как да използвам JUnit 5 Анотация @RepeatedTest с примери
Урок # 11: JUnit 5 Вложен клас: @Nested Урок с примери
Урок # 12: JUnit 5 Потребителско име и изпълнение на условни тестове
Урок № 13: JUnit Vs TestNG - Какви са разликите
Урок за JUnit
В типичен подход, управляван от тестове (TDD), разработчиците се фокусират върху модулното тестване на всяка част от кода, който разработват. Колкото по-добро е тестването на даден продукт, толкова по-добро е качеството му. Всички знаем, че тестването трябва да върви паралелно с всяка изминала фаза от жизнения цикъл на разработката на софтуер.
Започвайки от изискването и анализа до проектирането и разработването до поддръжката, всяка фаза трябва да има подходяща фаза на тестване, свързана с нея. Единичното тестване след разработката е препоръчително за изграждане на стабилно приложение и за разполагане на оптимизиран код.
Какво е единично тестване?
Единичното тестване е тестване на малка логика или код, за да се провери дали изходът на кода е както се очаква при въвеждане на конкретни данни и / или при удовлетворяване на определени условия. Обикновено единичните тестове трябва да бъдат независими от останалите тестове.
Единичните тестове не са възможни за тестване на сложни интерфейси с друго приложение или трети страни / външни услуги. Единичният тест е насочен само към малка единица код, която може да бъде просто метод или клас.
Той помага на разработчика да открие проблеми в текущата логика и всички неуспехи в регресията поради текущата промяна. Освен това, той също така дава представа за това как настоящият код може да повлияе на бъдещото изпълнение.
Тестово покритие
Извиква се процентът на кода, който се тества чрез модулни тестове покритие на теста .
Целта е да има по-добро и по-голямо покритие на теста на кода, което в бъдеще продължава да се добавя към пакета за регресия и помага да се увеличи автоматизираното изпълнение и проверка на теста, като по този начин намалява ръчните усилия, свързани с регресионното тестване.
Изпълнението на тестове автоматично помага да се идентифицират проблемите с регресията на софтуера, въведени от промени в текущия код. Наличието на високо тестово покритие на вашия код ви позволява да продължите да разработвате функции, без да се налага да извършвате много ръчни тестове.
Мнозина идват с въпрос колко е важно покритието на теста . Отговорът на този въпрос е, че няма строго правило колко обхватът на тестовете е от съществено значение; всичко е осъдително. Преценката се подобрява с опит в работния процес на приложението и исторически познания за откритите до момента дефекти.
Ефективните тестове не е задължително да означават 100% покритие от тестове или включване на тестове за автоматизация и / или единични тестове за всеки отделен клон или покритие на трасето.
Някои тривиални проверки като съобщение за грешка при проверка за задължително поле, оставено празно, което не е дефектно от години, не трябва да бъдат включени в регресионния пакет.
места за гледане на аниме безплатно
Ръчно тестване срещу автоматизирано тестване
Единичното тестване може да се извърши чрез два подхода:
- Ръчно тестване
- Автоматизирано тестване
И при двата подхода работният процес остава често срещан:
- Създаване на тестов случай
- Преглеждайки го
- Преработете, ако са необходими корекции
- Изпълнете тестовия случай
- Анализирайте резултатите от теста
Автоматизираното тестване се предпочита пред ръчното тестване поради следните причини:
Ръчно тестване | Автоматизирано тестване |
---|---|
Когато тестовият случай се изпълнява ръчно без намеса на инструмент, се нарича ръчно тестване. | Когато тестовият случай се изпълнява с помощта на инструмент без много ръчна намеса, се нарича автоматизирано тестване. |
Включени са повтарящи се ръчни усилия. | Повтарящите се ръчни усилия могат да бъдат избегнати. |
Човешките усилия при ръчно тестване могат да бъдат погрешни и да отнемат много време. | Тестовете за автоматизация са по-бързи и без грешки в сравнение с ръчните усилия. |
Необходимите ресурси за тестване са повече за ръчно стартиране на всеки тестови случай, което увеличава инвестицията в ресурсите. | Необходими са по-малко тестери за извършване на автоматизирани тестове, като се използват определените автоматизирани инструменти, поради което има по-малко инвестиции в ресурси за тестване, като по този начин се увеличава рентабилността. |
Ръчното тестване трябва да бъде ограничено до малко покритие на теста, като се имат предвид ограниченията във времевата линия. Следователно съществува риск от пропускане на много тестови сценарии, което води до риск от изтичане на дефекти. | Много различни тестови сценарии могат да бъдат автоматизирани и могат да бъдат изпълнявани многократно дори при време и криза на ресурсите, което води до по-добро покритие на теста и по-добро качество на резултата. |
Рамка за единични тестове
Може да имаме следващия въпрос за това как изглежда типичният тестов случай на автоматизационна единица и рамката, която следва. Разработчиците използват Рамка за единични тестове за създаване на автоматизирани модулни тестови случаи.
- За да се провери дали кодът логично работи, както се очаква, се създава тестова кутия с конкретна контролна точка или критерий за проверка.
- Когато тестът се изпълни, критерият / условието преминава или не.
- Генерира се дневник според работния процес на testcase.
- Рамката ще отчете обобщен резултат за преминатите тестови случаи и неуспешните.
- По отношение на тежестта на неизправността тестовата кутия може да не продължи по-нататък и да спре последващото изпълнение.
- Възможно е да има някои ниски сериозни повреди, които се отчитат в дневника, но той не показва твърдо спиране, но продължава, без да блокира по-нататъшните стъпки на теста.
Какво е JUnit?
JUnit е рамка с отворен код, която се използва за писане и изпълнение на модулни тестове в езика за програмиране Java. Това е една от най-известните рамки за модулно тестване.
Изображението по-долу показва различните добре познати инструменти за тестване на модули за автоматизация.
По-долу са изброени атрибутите, с които е пакетиран JUnit:
- Съществува огромен списък с пояснения, за да се идентифицират, изпълнят и поддържат много функции за методите за тестване.
- Има твърдения за проверка на очакваните резултати.
- Той осигурява Test Runner за изпълнение на тестовете.
- JUnit предоставя основен вграден шаблон, така че можете да напишете малки, прости тестови случаи за нула време.
- Тестовете JUnit ви помагат да пишете независими модули, като по този начин подобрявате покритието на теста и качеството на приложението.
- Той не само позволява лесно създаване и изпълнение на тестове, но също така представя на разработчика чист и ясен явен отчет, който елиминира необходимостта от разработчика да търси по пътя на отчетите и резултатите от теста.
- Докато изпълнението на теста не премине плавно, можете да се отпуснете, гледайки зелената лента за напредъка на теста, която се показва, докато изпълнението е в ход, докато той ви предупреждава в „червено“ веднага щом тестът не успее на контролна точка за проверка.
- Тестови пакети могат да бъдат създадени, за да се събере последователност или свързан набор от тестови случаи.
Примери за JUnit Testcase
По-долу са дадени двата примера за много основна програма Hello World, за да разберете как изглежда тестовият клас JUnit или колко различно изглежда в сравнение с обичайния файл на Java класа.
Пример # 1:
Тук е JUnit testcase HelloWorldJUnit.java, който проверява дали низът „Hello world“ съвпада с низа „hello world“, който се проваля при изпълнение, тъй като съвпадението е чувствително към малки и големи букви. Следователно, двата струни не съвпадат и тестът се проваля .
Кодът за HelloWorldJUnit.java
package demo.tests; import static org.junit.Assert.*; import org.junit.Test; public class HelloWorldJUnit { @Test public void test() { assertEquals('Hello world','hello world'); } }
Пример # 2:
Тук ще видим как обикновено Java файл на класа взаимодейства с JUnit тестов случай. Ние създаваме a Java файл на класа HelloWorld_Java.java с конструктор, който ни позволява да предадем стойност на String и метод getText () за извличане на стойността на низа.
JUnit Тестов клас HelloWorldJUnit.java се създава така, че обектът на класа за HelloWorld_Java се създава и действителната низова стойност се предава на обекта. AssertEquals () от JUnit проверява дали очакваните и действителните низови стойности съвпадат.
Кодът за HelloWorld_Java.java
package demo.tests; import static org.junit.Assert.*; import org.junit.Test; public class HelloWorldJUnit { @Test public void test() { assertEquals('Hello world','hello world'); } }
Кодът за HelloWorldJUnit.java
package demo.tests; public class HelloWorldJUnit{ private String s; public HelloWorld_Java(String s) { @Test public void test() { HelloWorld_Java hw=new HelloWorld_Java('Hello World'); assertEquals(hw.getText(),'Hello World'); } }
Резултатът изглежда по-долу, където виждаме съвпадението на двата струни. Следователно, тестът JUnit е премина.
Заключение
Що се отнася до предоставянето на бърз преглед на това какво е JUnit и какво прави, JUnit е красиво изработена рамка, която ви позволява да създавате и изпълнявате модулни тестове по автоматизиран начин.
Това е инструмент с отворен код, но безпроблемен. Независимо дали става въпрос за създаване на тестови случаи или изпълнение на тестова кутия или отчитане след изпълнение или поддържане на тестовете, JUnit е елегантен във всеки аспект. Да, може и елегантно да се провали; и ще видим как това се случва в нашия предстоящ урок, докато продължаваме напред.
какво е тестване за здравословно състояние при тестване на софтуер
За автора: Този урок е написан отШобхаГ. Тя работи като ръководител на проекта и идва с 9+ години опит в ръчно тестване, автоматизация и API тестване.
Нека продължим да осветяваме по-задълбочено всеки аспект на JUNIT тук.
Препоръчително четене
- Урок за отражение на Java с примери
- Java String съдържа () Урок за метод с примери
- Назъбен масив в Java - урок с примери
- Уроци за задълбочено затъмнение за начинаещи
- Java SWING Урок: Контейнер, компоненти и обработка на събития
- Тернарен оператор в Java - Урок с примери
- 20+ MongoDB урок за начинаещи: Безплатен курс на MongoDB
- Урок за Spock: Тестване със Spock и Groovy