JavaRush /Java блогу /Random-KY /Кофе-брейк №44. 2020-жылы 10 мыкты Java тестирлөө алкакта...

Кофе-брейк №44. 2020-жылы 10 мыкты Java тестирлөө алкактары

Группада жарыяланган
Булак: Dev.to Java бирдигинин тестирлөө алHowтары иштеп чыгуучуларга тиркемелерди же башка программалык камсыздоону түзүү үчүн стандарттуу, татаал жана кеңейтилүүчү куралдар менен камсыз кылат. Алар алдын ала жазылган codeду камтыган көп сандагы an objectтерден турат. Сыноо негизин тандоого жараша, ал китепканаларды, компиляторлорду, куралдарды жана API'лерди камтыйт. Кофе-брейк №44.  2020-жылы Java тестирлөө үчүн 10 мыкты алHowтар ​​- 1Java бирдигин тестирлөө алHowтары колдонмо үчүн бекем коопсуздукту башкарууну камсыз кылат. Эгер коопсуздуктун кемчorги табылса, аны алHowтын веб-сайтында/колдоосунда оңдоого болот. АлHow түзүүчүлөр программисттердин жана сыноочулардын эффективдүүлүгүн жана ылдамдыгын жогорулатуучу орнотулган функцияларды жана модулдарды сунушташат. Бул он жылдыкта платформаларды сыноодон эмнени күтүүгө болот? Биз сиздердин назарыңыздарга 2020-жылга карата эң мыкты Java тестирлөө алHowтарынын тизмесин сунуштайбыз.

1. JBehave

JBehave BDD (Жүрүм-турумга негизделген өнүктүрүү) колдоосу менен эң мыкты Java тестирлөө алHowтарынын бири. BDD TDD (Test-Driven Development) жана ATDD (Acceptance Test-Driven Development) эволюциялык уландысы болуп саналат. Jbehave негизги бөлүштүрүүлөрү:
  • JBehave Web,
  • JBehave Core.
JBehave орнотуу үчүн зарыл шарттар: Бул тестирлөө алкагын колдонуунун эң жакшы жолу - аны Eclipseге кошуу. Бул үчүн, Eclipse IDE versionсына карабастан (индигодон жогору), сизге ар кандай jar файлдары керек болот, мисалы:
  • Commons-lang-2.4.jar
  • Junit-4.1.0.jar
  • Jbehave-core-3.8.jar
  • Freemarker-2.3.9.jar
  • Plexus-utils-1.1.jar
  • Paranamer-2.5.jar
  • org.apache.commons.collections.jar
  • org.apache.commons.io.jar
JBehave артыкчылыктары:
  • JBehave'тин тестирлөө системасы ойлонулган деталдардын жана колдонуунун интуитивдик жеңилдигинин аркасында жогору турат.
  • JBehave BDD үчүн сонун иш кылат, ар кандай долбоорлордо иштеген, бирок окшош мүнөздөмөлөргө ээ болгон өзүнчө өнүктүрүү топторунун ортосунда интеграцияны сунуш кылат.
  • JBehave алкагы иштеп чыгуучулар үчүн абдан пайдалуу болгон жарым расмий тилди колдонот. Домен лексикасы команда түзүмүндө ырааттуулукту камсыз кылат.
  • Кызыкдар тараптар, ошондой эле долбоордун менеджерлери спецификациялар бирдей форматка ылайык келгендиктен, тесттик топтордун жана өнүктүрүү тобунун ишинин ачыктыгына ээ болушат.
JBehave'дин кемчorктери: JBehave, башка BDD тестирлөө алHowтары сыяктуу, бир гана жылчыкка же кемчorкке ээ. Куралдын ийгorгинин деңгээли долбоордун үстүндө иштеген катышуучулардын: башкаруу, тестирлөөчүлөр, иштеп чыгуучулар жана башка кызыкдар тараптардын ортосундагы байланыштан көз каранды. Начар байланыш күмөндүү жана жоопсуз суроолорго алып келиши мүмкүн. Бул өтүнмө кардардын талаптарына жооп бербей калышына алып келиши мүмкүн, натыйжада бардык катышуучулар күнөөлөшөт. JBehave Java тестирлөө үчүн жакшыбы? JBehave Serenity алкагына окшош иштейт. Ошондуктан, эгер сиз автоматташтырылган кабыл алуу тесттерин түзүүнү пландаштырсаңыз, JBehave менен Serenity менен бирге колдонуңуз. Serenity концепциясы BDD иштеп чыгуусуна негизделген, ал ошондой эле тесттин жыйынтыгы боюнча деталдуу отчет жазууга мүмкүндүк берет.

2. JUnit

JUnit бул ачык булактуу регрессиялык тестирлөө негизи, аны биринчи кезекте тажрыйбалуу иштеп чыгуучулар бирдикти тестирлөө, программалоону тездетүү жана Java codeунун сапатын жакшыртуу үчүн колдонушат. Бул куралды колдонуунун негизги максаты - Java иштеп чыгуучуларына кайталануучу сыноо учурларын скрипт жана ишке ашырууга мүмкүнчүлүк берүү. Бул Java-да эң көп колдонулган тестирлөө алHowтарынын бири. Көбүнчө JUnit codeдун кичинекей бөлүктөрүн сыноо үчүн колдонулат. Аны Selenium WebDriver менен JUnit менен айкалыштыруу аркылуу автоматташтырылган веб-сайт тесттерин аткаруу үчүн да колдонсо болот. Кандайдыр бир жаңы codeду кошкондо, тестирлөөчүдөн толук сыноо учурларын кайра жүктөө жана эч кандай тыныгуулар болбошу үчүн суралат. JUnit өзгөчөлүктөрү:
  • Сыноо топтому;
  • Объекттердин жалпы топтомун колдонуу;
  • JUnit класстары;
  • Test Runners.
JUnit орнотуу үчүн шарттар: SUnit негизинде жана Smalltalk менен жазылган, бул Java бирдигин тестирлөө алкагы Selenium WebDriver үчүн ылайыкташтырылган . Аны орнотуу үчүн төмөнкү талаптарга жооп беришиңиз керек:
  • Компьютериңизде JDKнын эң акыркы versionсы болсун.
  • (Милдеттүү эмес) $JUNIT_HOME/src. jar файлы.
  • Объектке багытталган тилде, эң жакшысы Java тилде тиркемелерди иштеп чыгуу көндүмдөрү жана тажрыйбасы.
  • JUnitтин жаңы versionсын жүктөп алып, алHowты конфигурациялаңыз.
JUnit артыкчылыктары:
  • JUnit Java 8 функцияларын колдогондуктан, аны интеграциялоо жана бирдик сыноолору үчүн колдонсо болот.
  • АлHow каталарды алгачкы этапта аныктоону жеңилдетет, натыйжада дени сак жана ишенимдүү code пайда болот.
  • JUnit менен иштеген программисттер аны абдан пайдалуу деп эсептешет. Бул codeду окууну жана кемчorктерди текшерүүнү жеңилдетет.
  • JUnit катасыз жана жакшыраак окулуучу codeду түзүүгө мүмкүндүк берет.
  • Eclipse, NetBeans, Maven, Ant жана IntelliJ IDEA сыяктуу дээрлик бардык негизги IDE менен шайкеш келет. Ошентип, сиз бул IDEлерден түз эле бирдик тесттерин оңой жазып, иштете аласыз.
  • JUnitтин жаңыртылган versionсын (5-version) колдонуу менен, сиз өзгөчө жагдайды оңой аныктай аласыз.
  • Бирдикти тестирлөө негизи Java 5 же башка versionлары менен колдонулушу мүмкүн.
JUnitтин кемчorктери: JUnit алкагы көз карандылык тесттерин аткара алbyte. Бул TestNG талап кылат. JUnit Java тестирлөө үчүн жакшыбы? JUnit Java негизиндеги кеңири колдонулган алHow. TestNG жана JUnit экөө тең окшош иштерди аткарышат жана алардын негизги мүнөздөмөлөрү бир аз окшош, көз карандылыкты текшерүү мүмкүнчүлүктөрүн кошпогондо. Параметрлештирилген тестирлөө proceduresасы эки алHowта ар кандай. JUnit көптөн бери колдонулуп келе жаткандыктан, ал Java коомчулугунун колдоосуна ээ. Ал ошондой эле Java негизиндеги тиркемелер үчүн Selenium WebDriver интеграциялоо аркылуу стандарттык бирдик тестирлөө негизи катары аныкталган. Сыноолорду жүргүзүү үчүн JUnit же TestNG ортосундагы тандоо толугу менен белгилүү бир иштин шарттарына жана муктаждыгына жараша болот.

3. Тынчтык

Serenity , мурда Thucydides катары белгилүү, эң кеңири колдонулган ачык булак Java тестирлөө алHowтарынын бири. Serenity BDD алкагы так, структураланган жана башкарылуучу тестирлөө критерийлерин түзүүгө жардам берет. Бул Selenium WebDriver жана JUnit функцияларын кеңейтет. Бул адистештирилген платформа менен сиз сүрөттөмө тестирлөө отчетторун түзө аласыз. Кошумчалай кетсек, сиз автоматташтырылган тестирлөөнү өз муктаждыктарыңызга дал келтире аласыз. Жалпысынан алганда, бул негиз Java иштеп чыгууну ишенимдүү жана натыйжалуу кылат. Тынчтыктын өзгөчөлүктөрү:
  • Ачык булак долбоору;
  • Сыноо жана ишке ашыруунун натыйжалары боюнча толук отчеттор;
  • Ар бир сыноо үчүн бизнес формат отчету.
Serenity'ди орнотуу үчүн шарттар: Serenity'тин автоматташтырылган алкагы Java базасына негизделгендиктен, сиз, албетте, Java же башка an objectке багытталган программалоо тor боюнча жетиштүү бorмге ээ болушуңуз керек. Төмөнкүлөр да компьютериңизге орнотулушу керек:
  • JDK 5 же андан кийинки.
  • Maven 3.0 же андан кийинкиси.
  • IDE (көбүнчө Eclipse).
Тынчтыктын артыкчылыктары:
  • АлHow сыноочуга REST кызматтары үчүн сыноо учурларын түзүүгө жардам берет.
  • Тесттик иштин сүрөттөлүшү менен түшүнүгүнүн, ошондой эле аны ишке ашырууга болгон мамиленин ортосундагы тең салмактуулукту сактайт.
  • Колдонуучуларга өздөрүнүн автоматташтырылган инфраструктурасын тейлөөгө же түзүүгө кошумча убакыт коротуунун кереги жок.
  • Serenity ар кандай өнүктүрүү алHowтары менен интеграцияланышы мүмкүн, мисалы Spring жана Selenium, JBehave сыяктуу тестирлөө алHowтары, ошондой эле JIRA сыяктуу долбоорду башкаруу куралдары.
Тынчтыктын кемчorктери: Serenityтин кемчorги Java үчүн JBehave рамкасына окшош. BDD тарабынан көрсөтүлгөн колдоону максималдуу пайдалануу үчүн долбоордун катышуучуларынын ортосунда үзгүлтүксүз байланыш керек. Serenity Java тестирлөө үчүн жакшыбы? Бул Java тестирлөө негизи негизинен кабыл алуу критерийлерин жана отчеттуулукту жазуу үчүн колдонулат. Serenity менен жазылган отчеттор JBehave сыяктуу башка BDD алHowтарына караганда натыйжалуу, пайдалуу, бай жана маалыматтуу. Бул программисттерге жогорку сапаттагы тестти автоматташтыруу сценарийлерин жазууга жардам берет. Serenity ошондой эле Selenium WebDriver жана Rest Assuredди колдойт, бул сыноочуларга кабыл алуунун автоматташтырылган критерийлерин тезирээк жана оңой түзүүгө мүмкүндүк берет.

4.TestNG

TestNG интеграциялоо, функциялык жана бирдик тестирлөө үчүн колдонулган эң популярдуу Java тестирлөө алHowтарынын бири. Ал 2004-жылы Седрик Бейст тарабынан түзүлгөн жана азыр 7-versionга жаңыртылган. Ал JUnit алкагынын негизги атаандашы болуп саналат. TestNG JUnitге окшош, бирок кээ бир annotationлары жана Junit тарабынан колдоого алынбаган функциялары бар. TestNG программалык камсыздоону тестирлөөнүн дээрлик бардык түрлөрүндө колдонулушу мүмкүн, анын ичинде акырына чейин, бирдикте, интеграциялоодо жана функционалдуу. TestNG жана JUnit экөө тең Java негизиндеги алHowтар, алар сизге тесттерди жазууга жана жыйынтыкты текшерүүгө мүмкүндүк берет. Эгер тест ийгorктүү өткөн болсо, анда жашыл тилкени көрөсүз, антпесе кызыл тилкени көрөсүз. TestNG өзгөчөлүктөрү:
  • Көз каранды ыкмаларды сыноону колдойт;
  • ийкемдүү тест конфигурациясы;
  • Туруктуу аткаруу моделин колдойт;
  • Кошумча ийкемдүүлүк үчүн BeanShellде орнотулган.
TestNG орнотуу үчүн зарыл шарттар: Java негизиндеги TestNG алкагы топтоо, иреттөө жана параметрлөө сыяктуу өзгөчөлүктөргө ээ. Бул сыноо учурларын ыңгайлаштырууну камсыз кылат жана мурда колдонулган алHowтардагы боштуктарды жок кылат. TestNG орнотуу үчүн сизге керек болот:
  • Акыркы JDK versionсы;
  • Eclipse акыркы versionсы;
  • Java программалоо тorн же башка an objectиге багытталган программалоо тorн түшүнүү жана практикалык тажрыйбасы.
TestNG артыкчылыктары:
  • Бир нече code фрагменттеринин параллелдүү тестирлөөсүн түзүүгө жана иштетүүгө мүмкүндүк берет.
  • Сыноо ишин ишке ашырууда сиз HTML форматында отчет түзө аласыз.
  • Тесттерди оңой эле уюштурууга жана артыкчылыктарга ылайык топтоого болот. Тышкы же маалымат базасын тестирлөө үчүн негизди орнотуу менен тесттерди жүргүзүү оңой.
  • Приоритеттерди дайындарды параметрлештирүү жана annotationларды колдонуу менен оңой коюуга болот.
TestNG'дин кемчorктери: Эгер проектиңиз тесттик иштин артыкчылыктуулугун талап кылбаса, TestNG сизге ылайыктуу болбой калышы мүмкүн. Андан тышкары, TestNG орнотууга көбүрөөк убакыт талап кылынат. TestNG Java тести үчүн жакшыбы? Белгилүү болгондой, JUnit тестирлөө алкагы TestNG менен бирдей функцияларды аткарат, бирок кээ бир кемчorктери бар. JUnit сыноо өзүнчө иштетилгенде сонун. Бирок, кандайдыр бир көз карандылык болгондо, сиз мурунку тестирлөөдөн эч кандай көзөмөл ала албайсыз. Java үчүн TestNG алHowтары сыноо иштерин так сиз каалагандай аткарууга мүмкүндүк берет. Кошумча, сиз TestNGде кошумча параметрлөө колдоосуна ээ болосуз . Бул функция JUnit 4.5те бар болсо да, TestNG алкагы пайдалуураак. Эгерде кандайдыр бир долбоор татаал болсо жана сизге 100 же андан көп сыноо учурлары керек болушу мүмкүн болсо, JUnit сыяктуу башка алHowтарга толугу менен көз каранды болбостон, кошумча убакыт алып, TestNG алкагын өзгөчөлөштүрүү жакшы.

5.Selenide

Selenide Selenium WebDriver тарабынан иштетилген популярдуу ачык булак Java тестирлөө негизи. Бул Java тиркемеси үчүн так, коммуникативдик жана туруктуу UI тесттерин жазуу үчүн эң сонун курал. Бул WebDriver жана JUnit функцияларын кеңейтет. WebDriver - биздин сүйүктүү UI тестирлөө куралдарыбыздын бири, бирок анда күтүү мүмкүнчүлүктөрү жок. Мисалы, Ajax сыяктуу веб-технологияларды сыноо. Селениддик алHow бул көйгөйлөрдүн баарын оңой чечет. Андан тышкары, орнотуу жана үйрөнүү оңой. Сиз жөн гана логикага басым жасашыңыз керек, калганын Селенид жасайт. Selenide өзгөчөлүктөрү:
  • татаал орнотууну талап кылbyte;
  • Кодду көп жазууну талап кылbyte;
  • көп убакытты үнөмдөйт;
  • Дженкинс сыяктуу CI куралы үчүн идеалдуу конфигурация.
Selenide орнотуу үчүн шарттар: Бул алHow Java негизделгендиктен, сизге Java же башка an objectке багытталган программалоо тилдери менен тажрыйба керек болот. Сиздин компьютериңизге төмөнкүлөр орнотулушу керек:
  • JDK 5 же андан жаңы;
  • Maven 3.0 же башка versionлары;
  • Интегралдык өнүктүрүү чөйрөсү (IDE) куралы. Көбүнчө, бардык иштеп чыгуучулар Eclipseди жактырышат, анткени Eclipse жана Maven айкалышы менен иштөө оңой.
Selenide артыкчылыктары:
  • Selenide тесттериңизди так жана туруктуу кылып, (дээрлик) бардык Ajax / убакыт маселелерин чечет.
  • Сыноо иштерин жазуу процессин кыскартуу.
  • AngularJS аркылуу иштелип чыккан тиркемелерди сыноо үчүн колдоо.
  • Мурда башка Selenium куралдары тарабынан колдонулган буйруктардын санын азайтат.
Селениддин кемчorктери: Азырынча эч ким Selenide колдонуунун байкаларлык кемчorктерин таба элек. Selenide Java тестирлөө үчүн жакшыбы? Эгер сиз UI тесттерин жасагыңыз келсе, адегенде Selenium WebDriverди үйрөнөсүз. Бирок, Selenium WebDriver JavaScriptтин жай башталышына, Ajax таймауттарына же жүктөө үчүн кошумча убакытты талап кылган динамикалык мазмунга байланыштуу көйгөйлөрдү чече алbyte. Бул маселелерди чечүү үчүн биз буга чейин сыноо учурларда "уйку" же "күтө турган" ыкмаларын колдонгонбуз. Selenide сыяктуу Java тестирлөө системасы менен биз мындан ары бул маселелер жөнүндө ойлонбошубуз керек.

6. ченегич

Selenium Thoughtworks түзүүчүлөрү веб-тиркемелерде автоматташтырылган тесттерди жүргүзүү үчүн дагы бир Java тестирлөө негизин чыгарышты. Gauge бул Java үчүн акысыз жана ачык булактуу тестирлөөнүн автоматташтырылган негизи, ал азыраак code менен кабыл алуу сынагынын жүгүн азайтат. Бул мобилдик веб-сайттарды сыноо үчүн технологиялык стек категориясында эң көп колдонулган Java тестирлөө алHowтарынын бири. Бул негизди колдонгон автоматташтырылган тесттер тилге карабастан окууга оңой тесттерди түзө алат. Selenium сыяктуу эле, бул тестирлөө системасы Ruby, JavaScript, Java, C# жана Python сыяктуу бир нече программалоо тилдерин колдойт. Өлчөмдүн өзгөчөлүктөрү:
  • Колдонууга оңой, ийкемдүү синтаксис;
  • Ишкердик тилди колдонот;
  • бир нече тилдерди жана платформаларды колдойт;
  • Көптөгөн плагиндер.
Өлчөмдү орнотуу үчүн зарыл шарттар:
  • Maven жүктөп алуу жана орнотуу ;
  • Иштетүү системасы Microsoft Windows 10 же андан жогору;
  • Эстутум - 512 МБ RAM (минималдуу);
  • Gauge плагини сиздин интеграцияланган иштеп чыгуу чөйрөңүз (IDE) менен конфигурацияланышы керек же CMD/Терминалдан тестти иштетип жатсаңыз, Gauge алкагы орнотулушу керек.
Өлчөмдүн артыкчылыктары:
  • Скрипттерди окула турган жана түшүнүктүү кылат.
  • Колдонууга оңой, ийкемдүү синтаксис жана тилдердин бардык түрлөрүн (Java, Javascript, C#, Ruby, Python ж.б.) жана платформаларды колдоо.
  • Сиз тандаган интеграцияланган иштеп чыгуу чөйрөсүндө (IDE) тесттерди түзүүгө мүмкүндүк берет (IntelliJ, Vi VS Code, Visual Studio, Maven, Gradle, Eclipse ж.б.).
  • Параллелдүү тестирлөө жүргүзөт жана ыңгайлаштырылган отчетторду түзөт.
  • Жогорку тактыкты жана окулууну сактоо менен чоң маалымат топтомдорун оңой сынайт.
Өлчөмдүн кемчorктери:
  • Gauge - бул жаңы алHow, ошондуктан колдонуучулар ал жөнүндө көп бorшпейт.
  • Gauge IntelliJ ичиндеги спецификацияларды коопсуз параллелдүү ишке ашырууну колдобойт, анткени драйвер статикалык жана скрипттер менен бирге колдонулушу керек.
Gauge Java тестирлөө үчүн жакшыбы? Gauge Java тестирлөө алкагы кросс-браузердик тестирлөө үчүн эң сонун. Анын өзгөчөлүктөрү ушунчалык жөнөкөй, ал тургай техникалык эмес колдонуучуларга да тесттерди оңой жазууга мүмкүнчүлүк берет.

7. Геб

Geb Selenium WebDriver үстүнө курулган серепчи тестирлөө негизи болуп саналат. Бул аны автоматташтырылган тесттер үчүн идеалдуу кылат жана сиз WebDriver тарабынан колдоого алынган бардык браузерлерде кайчылаш браузер тесттерин оңой аткара аласыз. Geb алдыңкы маалыматтарды талдоо, веб тестирлөө жана башка көптөгөн нерселер үчүн өзгөчө мүмкүнчүлүктөрдү камсыз кылат. Аны өзгөчө кылган нерсе, анын HTML барактарына суроо берүү жолу жана jQuery сыяктуу синтаксис чыгаруу. Geb платформасы ошондой эле Page Object Model үчүн жергorктүү колдоону сунуш кылат . Geb жалпы кыруу, скрипт, ошондой эле автоматташтыруу үчүн колдонулушу мүмкүн. Бул TestNG, JUnit жана Spock сыяктуу тестирлөө алHowтары менен интеграциялоонун аркасында кабыл алуу тести, веб тестирлөө же функционалдык тестирлөө үчүн чечим катары бирдей ылайыктуу. Geb өзгөчөлүктөрү:
  • Толук jQuery синтаксисин колдоо;
  • Apache License 2.0;
  • WebDriver шайкеш;
  • Барак an objectисин моделдөөнүн туруктуулугу;
  • Жагымдуу артикуляция.
Geb орнотуу үчүн талаптар:
  • Сиз Maven жүктөп алып, орнотуу керек ;
  • Java 8 же андан кийинкисинин болушу ;
  • LambdaTest аныктыгын текшерүү жана тастыктоо грамоталары;
  • Geb тестти автоматташтыруу алкагы үчүн GitHubдагы LambdaTest репозиторийинин көчүрмөсү .
Geb артыкчылыктары:
  • Page Objects формасы жана Geb's Groovy DSL тесттерди окууну жеңилдетет, анткени алар англис тorне аздыр-көптүр окшош.
  • Сыноолорду жогорку ылдамдыкта жүргүзөт жана тестирлөө чыгымдарыңызды үнөмдөйт. Internet Explorer, HTMLUnit, Firefox жана Chrome сыяктуу ар кандай браузерлер менен шайкеш келет.
  • Сыноолорду реалдуу убакытта жана реалдуу чөйрөдө аткарат — колдонуучу байкагандай. Бир скрипттин ичиндеги тесттердин максималдуу натыйжалуулугун камсыз кылат.
  • Регрессиялык тестирлөөнү көйгөйсүз жүргүзүүгө мүмкүндүк берет. Сиз Geb сыноо учурларын иштетип, тиркемеде өзгөртүү же оңдоодон кийин кандайдыр бир активдүү функциянын бузулганын текшерүүгө болот.
Geb кемчorктери:
  • Gebтин кемчorги - ал WebDriverди Groovy тorнде колдонот. Ошондуктан, Webdriverди колдонууда ошол тил гана колдоого алынат. Бирок, эгер сиз WebDriverди түз колдонууга аракет кылсаңыз, ал Java, Ruby, C# жана Python сыяктуу башка тилдерди колдойт.
  • Geb чакан долбоорлорго ылайыктуу эмес, бирок чоң тапшырмалар үчүн жакшы иштейт. Эгерде сиздин веб-тиркемеңизде маалыматтар агып турушу керек болгон баракчалар жана формалар жок болсо, анын түзүлүшү ыңгайсыз сезorши мүмкүн.
Geb Java тестирлөө үчүн жакшыбы? Geb's Java тестирлөө негизи Cucumber, TestNG, JUnit жана Spock сыяктуу платформалар үчүн акылдуу интеграциялык модулдарды камсыз кылат. Геб үчүн эң жакшы тандоо Спок болмок. Бул эки алHowты колдонуу азыраак аракет менен кыска, так жана түшүнүктүү тест спецификацияларын түзө алат.

8.Spock

Spock Java үчүн популярдуу сыноо автоматташтыруу негизи болуп саналат. Ал Groovy тorнде жазылган жана тестирлөөчүлөргө Java виртуалдык машинасында маалыматтарга негизделген тесттерди жүргүзүүгө мүмкүндүк берет. Spock JVM колдогон көптөгөн тилдер менен мыкты шайкештикти камсыз кылат. Споктун өзгөчөлүктөрүнүн бири - codeдук documentтер жана codeдун окулушу уюшкандыкта жана тыкан, ошондой эле жөнөкөй англисче сүйлөмдөрдү чечмелей алат. Ал көп учурда программалык камсыздоону иштеп чыгуучулар тарабынан Java'да корпоративдик тиркемелерди түзүү үчүн колдонулат. Ушул себептерден улам, Spock 2020-жылы эң популярдуу жана колдонуучуга ыңгайлуу Java тестирлөө негизи болуп калды. Spock өзгөчөлүктөрү:
  • Де-факто, бул JUnit Java алкагынын кеңейтилген versionсы;
  • жасалма an objectтерди колдоо;
  • Тесттерди каалаган тилде жазса болот.
Spock орнотуу үчүн зарыл шарттар:
  • Акыркы JDK versionсы;
  • Eclipseтин жаңыланган versionсы;
  • Java программалоо тorн билүү.
Spock артыкчылыктары:
  • Башка Java автоматташтырылган тестирлөө алHowтарына салыштырмалуу англис тorндеги жөнөкөй сүйлөмдөр менен шайкеш келүүнү камсыз кылуу, укмуштуудай окулуу.
  • Спок менен шылдыңдоо жана шылдыңдоо болуп көрбөгөндөй жеңил жана оорутпайт. Мындан тышкары, алар алкагында курулган.
  • Ачык жана кыскараак параметрлештирүү.
  • Айланадагы контекстти сактап, катанын себебин табууга жардам берет.
  • Жөнөкөйлөштүрүлгөн жана коммуникативдик домендин өзгөчө тor (DSL).
Spock кемчorктери:
  • Ал Groovy тorнде жазылган, андыктан сиз Groovy боюнча негизги бorмге ээ болушуңуз керек.
  • Сиз Spock алHowтарын бир аз ыңгайсыз деп табышыңыз мүмкүн, бирок аны менен таанышкандан кийин, башка Java тестирлөө алHowтарына өтүү жөнүндө ойлонбойсуз.
Spock Java тестирлөө үчүн жакшыбы? Ооба, көптөр аны эң мыкты Java тестирлөө негизи деп эсептешет жана аны биринчи орунга коюшат. Spock күчтүү DSL, колдонуунун жөнөкөйлүгү жана интуитивдик колдонуучу интерфейсинин аркасында Behavior-Driven иштеп чыгуу үчүн эң мыкты тестирлөө платформасы. Айрыкча, сизде JVM негизиндеги тиркемелер болсо. Spock RSpec, jMock, JUnit, Mockito, Vulcans, Groovy, Scala жана башка пайдалуу технологиялар менен шайкеш келет.

9. HttpUnit

HttpUnit кеңири колдонулган ачык булак тестирлөө негизи. Ал эч кандай браузердин талаптары жок веб-сайттарды сынап көрүүгө мүмкүндүк берет. HttpUnit веб тиркемелери үчүн автоматташтырылган тестирлөө скрипттерин иштетүү үчүн эң сонун. Аты айтып тургандай, HttpUnit бирдик тесттер үчүн колдонулушу мүмкүн. Бирок, сервлеттер, JSP (JavaServer Барактары) жана башка шаблон элементтери сыяктуу жалпы веб-деңгээл элементтери бирдик сыноолоруна ылайыктуу эмес. Java тorнде жазылган, алHow кайтарылган беттерде, XML DOM, текст, table контейнерлери, шилтемелер жана формалар боюнча сыноолорду жүргүзүүгө мүмкүндүк берет. HttpUnit өзгөчөлүктөрү:
  • Cookie колдоо;
  • HTTPS жана HTTP протоколдорун колдойт;
  • HTML жооп колдоо;
  • Прокси serverди колдоо;
  • Мыкты JavaScript колдоосу.
HttpUnit орнотуу үчүн зарыл шарттар:
  • Система Java JDK 1.4 же эң акыркы versionсын колдоого алышы керек.
  • HttpUnit менен интеграцияланган Tidy.jar жана httpunit.ja файлдарын класс жолуңузга кошуңуз; Ошондой эле XML талдоочу алдын ала орнотулганын текшериңиз.
  • Эгер сиз Javaнын эски versionсын колдонуп жатсаңыз, класс жолуңузга JAXP-шайкеш XML талдоочусун камтышыңыз керек.
  • HttpUnitтин эң акыркы versionсы ушул бетте жеткorктүү .
HttpUnit артыкчылыктары:
  • Веб тиркемелерин текшерүүнү автоматташтырууга мүмкүндүк берет жана регрессиялык тестирлөөгө жардам берет.
  • HTTPUnitтин артыкчылыктарынын бири - ал Selenium сыяктуу башка тестирлөө автоматташтырылган алHowтарга караганда бир топ ылдамыраак.
  • Ыңгайлаштырылган браузердин (IE же Firefox) ишин имитациялоого мүмкүндүк берген эң сонун JavaScript колдоосу.
  • HTTPUnit өзүнүн негизги тor катары Rhino JavaScript кыймылдаткычын колдонот жана браузерди ишке ашыруу үчүн an objectтин аткарылышын камсыз кылат.
  • Популярдуу JavaScript китепканаларынан алынган бирдик тесттери HtmlUnitтин ушул бирдик сыноолорунун негизинде бирдик тесттерине бириктирилген. jQuery 1.11.3, MochiKit 1.4.1, MooTools 1.2.1 ж.б. китепканаларды колдойт, HtmlUnit менен сонун иштейт.
  • HtmlPage.executeJavascript (String yourJsCode) аркылуу учурдагы баракка codeду киргизүү мүмкүнчүлүгү.
HttpUnit кемчorктери:
  • Бул жөнөкөй тесттерди жүргүзүү үчүн жакшы вариант, бирок татаал тесттерди түзүү көбүрөөк codeду талап кылат.
  • Selenium сыяктуу алHow тагыраак болуп, текшерorп жаткан тиркемелерди чектебеген браузерге багытталган жүрүм-турумга мүмкүндүк берет. HttpUnit алкагы менен сиз кээ бир негизги браузерлерден башка чектелген колдоо аласыз.
HttpUnit Java тестирлөө үчүн жакшыбы? HttpUnit колдонууга, орнотууга жана иштетүүгө өтө жеңил. Жөнөкөй тесттерди жүргүзүү үчүн колдонуу жакшы, бирок татаал тесттерди түзүү жогорку деңгээлдеги codeдоону талап кылат. HTTPUnit менен салыштырганда, Selenium сыяктуу тестти автоматташтыруу тутуму көбүрөөк артыкчылыктарга ээ. Model-View Controller платформасына негизделген элементтерге келсек, алар платформалардын башка түрлөрү менен тестирлөө үчүн ылайыктуу. Мисалы, WebWork 2 аракеттерин веб-контейнерсиз бирдик менен сынаса болот, ал эми Struts иш-аракеттерин StrutsUnit аркылуу бирдик менен сынаса болот.

10. JWebUnit

JWebUnit Java негизиндеги тестирлөө негизи , ал JUnitтин кеңейтorши болуп саналат. Ал интеграция, регрессия жана функционалдык тестирлөө үчүн колдонулат. JWebUnit HTMLUnit жана Selenium сыяктуу учурдагы активдүү алHowтарды жөнөкөй тестирлөө интерфейси менен айкалыштырат. Ушундай жол менен сиз веб-тиркемелериңиздин тактыгын дароо текшере аласыз. JWebUnit экран багыттоо сыноолорду аткаруу үчүн колдонулушу мүмкүн. Платформа ошондой эле колдонмонун тактыгын текшерүү үчүн веб-тиркемеде навигациялоо үчүн Java колдонмо программалоо интерфейсин сунуштайт. Бул шилтемени навигациялоону, форманы киргизүүнү жана тапшырууну, tableнын мазмунун актоону жана бизнес тиркемелеринин башка жалпы өзгөчөлүктөрүн эске алат. JWebUnit өзгөчөлүктөрү:
  • Веб тиркемесинде навигациялоо үчүн жогорку деңгээлдеги Java API.
  • Ачык булак Java негизиндеги алHow.
JWebUnit орнотуу үчүн зарыл шарттар:
  • Сиз Maven орнотуу керек.
  • JWebUnitтин учурдагы туруктуу versionсы 3.3. Java 1.7 талап кылынат.
  • Сизге керектүү плагинди кошуңуз: Тезирээк тесттер жана Javascript менен Webdriver үчүн эң сонун колдоо үчүн HtmlUnit: BETA сапаты.
  • Maven 2ди колдонууда Eclipseдеги көз карандылыктарды башкаруу үчүн, m2e плагинин колдонуңуз.
JWebUnitтин артыкчылыктары:
  • Экрандагы навигацияны текшерүү үчүн колдонулат.
  • Веб колдонмолорун чабыттоо үчүн жогорку деңгээлдеги API менен камсыз кылат.
  • Жеткorктүү ырастоолор менен жөнөкөй навигация JUnit же HtmlUnit колдонууга караганда тезирээк тесттерди түзүүгө мүмкүндүк берет.
  • Эгер кимдир бирөө HtmlUnitтен Selenium сыяктуу плагиндердин башка түрлөрүнө өтүүнү кааласа, тесттерди кайра жазуунун кереги жок.
JWebUnitтин кемчorктери: TestNG да, JWebUnit да окшош иштерди аткарышат жана көз карандылыкты текшерүү мүмкүнчүлүктөрүн кошпогондо, өзгөчөлүктөрү абдан окшош. JWebUnit Java тестирлөө үчүн жакшыбы? Htmlunit JavaScript колдоо үчүн идеалдуу параметр болуп саналат. Бирок, JWebUnit колдонмо программалоо интерфейстерин сунуштайт, ошондой эле JWebUnit менен так code жазуу оңой, бул HttpUnit менен көп учурда мүмкүн эмес. JWebUnit интуитивдик API'ге ээ, ал аны жеткorктүү жана колдонууга жеңил кылат, ал тургай, адам HTMLди болжол менен гана түшүнсө да. JWebUnit жакшы иштейт, бирок кээде бир аз BDD кошуу өзгөрүшү мүмкүн. Жүрүм-турумга негизделген дизайн же иштеп чыгуу JWebUnit аркылуу колдонуучунун колдонмоңуз менен өз ара аракеттенүүсүн моделдөөнүн эң сонун жолу.

Корутунду

Иштеп чыгуучулар үчүн программалык камсыздоону тестирлөө боюнча эксперт болуу жана тестирлөө боюнча күчтүү түшүнүккө ээ болуу абдан маанилүү. Бул тажрыйбалуу Java иштеп чыгуучуларын жаңыдан айырмалап турган нерсе. Кемчorксиздикке жакындаш үчүн, сизге жогоруда айтылган 10 эң мыкты Java тестирлөө алHowтарын үйрөнүү сунушталат. Алар сиздин тиркемелериңизди текшерүүнү жеңилдетет. Java тестирлөө алHowтары менен таанышуудан тышкары, сиз туура тестти автоматташтыруу алкагын да тандап алышыңыз керек.
Комментарийлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION