FitNesse - FitNesse

FitNesse
Barqaror chiqish
v20190428 / 28-aprel, 2019-yil; 19 oy oldin (2019-04-28)
Ombor Buni Vikidatada tahrirlash
YozilganJava
Operatsion tizimO'zaro faoliyat platforma
TuriSinovlarni avtomatlashtirish
LitsenziyaCPL [1]
Veb-saytfitnesse.org

FitNesse a veb-server, a wiki va avtomatlashtirilgan sinov uchun vosita dasturiy ta'minot. Bunga asoslanadi Kanningxem "s Integratsiyalashgan test uchun asos va qo'llab-quvvatlash uchun mo'ljallangan qabul testi dan ko'ra birlik sinovi u tizim funktsiyasini batafsil o'qiladigan tavsifini osonlashtiradi.

FitNesse ishlab chiqilgan tizim foydalanuvchilariga maxsus formatlangan kirishni kiritish imkoniyatini beradi (uning formati dasturchilarga kirmaydi). Ushbu kirish izohlanadi va testlar avtomatik ravishda yaratiladi. Keyinchalik ushbu testlar tizim tomonidan amalga oshiriladi va natijalar foydalanuvchiga qaytariladi. Ushbu yondashuvning afzalligi - foydalanuvchilarning juda tezkor mulohazalari. Sinovdan o'tadigan tizimni ishlab chiqaruvchisi bir nechta yordamni ta'minlashi kerak ("konstruktsiyalar" deb nomlangan sinflar, ba'zi bir konvensiyalarga muvofiq).

FitNesse yozilgan Java (Mixa Martin tomonidan olingan Robert C. Martin va boshqalar[2]). Dastur avval faqat Java-ni qo'llab-quvvatladi, ammo vaqt o'tishi bilan bir nechta boshqa tillarning versiyalari qo'shildi (C ++, Python, Yoqut, Delphi, C #, va boshqalar.).

FitNessening tamoyillari

FitNesse sinov usuli sifatida

FitNesse dastlab Fit ramkasi atrofida juda qulay interfeys sifatida ishlab chiqilgan. Shunday qilib, uning maqsadi an epchil uslubi qora quti sinovlari qabul qilish va regressiya sinovlari. Dasturiy ta'minotni ishlab chiqish loyihasida funktsional sinovchilarni sinovdan o'tkazishning ushbu uslubida dasturiy ta'minot ishlab chiqaruvchilari bilan sinov to'plamini ishlab chiqish uchun hamkorlik qiladi.

FitNesse testi qora quti sinovlari yozuvlari atrofida joylashgan bo'lib, unda tekshirilayotgan tizim qora quti deb hisoblanadi va oldindan belgilangan kirishga javoban hosil bo'lgan natijalar bo'yicha tekshiriladi. Funktsional tekshiruvchi testlarni funktsional ma'noda loyihalashtirish va ularni FitNesse vositasida ifoda etish uchun javobgardir, dasturiy ta'minot ishlab chiqaruvchisi esa FitNesse vositasini sinovdan o'tgan tizimga ulash uchun javobgardir, shunda FitNesse testni amalga oshirishi va haqiqiy natijani taqqoslashi mumkin. kutilgan mahsulot.

Tavsif etilganidek, ushbu sinov usuli ortidagi g'oya Dasturiy ta'minotni ishlab chiqish uchun mos, shundan iboratki, sinovchilar va ishlab chiquvchilarning majburiy hamkorligi, ikkala guruhni birgalikda muloqot qilishni o'rganar ekan, umumiy tilni rivojlantirishga majbur qilish orqali tizim va talablarni o'zaro tushunishni yaxshilaydi.

FitNesse sinov vositasi sifatida

Sinovlar Fitnesse-da kirish va kutilgan natijalarni bog'lash sifatida tasvirlangan. Ushbu muftalar a ning o'zgarishi bilan ifodalangan qarorlar jadvali. FitNesse vositasi ushbu variantlarning bir nechtasini qo'llab-quvvatlaydi: so'zma-so'z qarorlar jadvallaridan tortib so'rovlarni bajaradigan jadvallarga, test skriptlarini ifodalaydigan jadvallarga (ya'ni natijaga erishish uchun bajarilishi kerak bo'lgan qadamlarning tom ma'noda tartiblanishi). Eng umumiy shakl - bu test dizaynerlariga yoqadigan har qanday tarzda talqin qilinishi mumkin bo'lgan to'liq erkin shaklli jadval. Ammo barcha testlar qandaydir jadval shaklida ifodalanadi.

FitNesse butunlay sinovlarni yaratishga qaratilgan bo'lib, sinovchilar va ishlab chiquvchilarga testni bajarish mexanikasida adashib qolmasdan, yuqori sifatli testlarni yaratishga e'tibor berishlari mumkin. FitNesse-ning ishlash uslubini hisobga olgan holda, testlarni yaratish uchta omilni o'z ichiga oladi:

  1. Jadvallarni osongina yaratish.
  2. Sinov ostidagi tizimga qo'ng'iroqlarga jadvallarni osongina tarjima qilish.
  3. Sinovlarni hujjatlashtirishda qulaylik va moslashuvchanlikni ta'minlash.

Ushbu talablarni qondirish uchun FitNesse wiki mexanizmidan foydalanadi. Vikilar klassik ravishda HTML-sahifalarni oson va tez yaratilishiga imkon beradi va ayniqsa jadvallar ifodasini soddalashtiradi. Ushbu fazilatlar asosiy narsadir WikiWiki FitNesse uchun "foydalanuvchi interfeysi" uchun ideal tanlov: bir tomondan bu juda erkin shaklli jadvallarni oddiy ifodalashga imkon beradi, boshqa tomondan ushbu jadvallarning tarkibini oddiy matn bilan cheklaydi. Bu shuni anglatadiki, WikiWiki tili ma'lum bir test uchun zarur bo'lgan har qanday jadval jadvalini boshqarishi mumkin va shu bilan birga ushbu jadvallar tarkibini dasturiy ta'minotga qo'ng'iroq qilish uchun osongina xarflash mumkin bo'lgan alfasayısal matn bilan cheklaydi. Va nihoyat, FitNesse-dagi har bir test viki-sahifa bo'lganligi sababli, har bir test jadvalini viki-matn tarkibiga kiritish mumkin; bu funktsional tekshiruvchiga tavsiflovchi matnni oqilona joylashuvi bilan tezda kiritishga imkon beradi.

FitNesse dasturiy ta'minot vositasi sifatida

FitNesse - bu ishlab chiqilgan vosita Java va bitta, bajariladigan sifatida jo'natildi jar fayli. Amalga oshiriladigan dastur ichiga o'rnatilgan viki-dvigatel kiradi veb-server, sinov vositasi va barcha manbalar (rasmlar, uslublar jadvallari va hokazo) FitNessening o'ziga xos uslubida veb-sayt yaratish uchun talab qilinadi.

FitNesse sinov vositasi sifatida foydalanish qulayligiga juda katta e'tibor qaratmoqda. Shunday qilib, u barcha kerakli komponentlar bilan ta'minlanadi: bajarilgandan so'ng, vosita o'rnatilgan veb-serverni ishga tushiradi, bu test sahifalarini mahalliy darajada yoki Internetda bir xil darajada ochib berishga imkon beradi. O'rnatilgan server juda yengil, uni noutbukdan va to'liq server mashinasidan boshqarish mumkin.

Ishga tushgandan so'ng, vosita o'zining ichki Wiki dvigatelini o'rnatilgan serverga joylashtiradi. Ushbu Wiki dvigateli ham soddalikka yo'naltirilgan bo'lib, u zaxira ma'lumotlar bazasini ishlashini talab qilmaydi - shunchaki Wiki dvigateli tomonidan talqin qilinadigan va o'rnatilgan veb-server tomonidan xizmat ko'rsatiladigan Wiki sahifalarining fayllar to'plamini yaratadi. Asbob tomonidan yaratilgan standart vikida FitNesse foydalanuvchi qo'llanmasi va ba'zi misollar mavjud. Standart hujjat ombori FitNesse uslubida standart vikini nashr etish uchun zarur bo'lgan barcha narsalar bilan yaratilgan (ya'ni barcha rasmlar, uslublar jadvallari, JavaScript-fayllar va boshqalar asosiy viki-sahifa ombori bilan birgalikda yaratilgan).

Wiki dvigateli juda oddiy, ammo wiki dvigatellari orasida keng tarqalgan barcha asosiy imkoniyatlarni taqdim etadi: a qidiruv tizimi, reviziya tarixi har bir sahifaga va faylga umumiy nuqtai. Shuningdek, u fayllarni o'chirish, ko'chirish va qayta nomlash imkonini beradigan ba'zi bir qayta ishlash operatsiyalarini taklif etadi. Bundan tashqari, wiki dvigateli testlarni o'tkazish uchun standart tugmachalar, test sinovlari uchun alohida sahifalar va to'plamlarni belgilash usullari va trend tahlillari uchun test natijalariga tarixiy sharh kabi ba'zi bir sinovlarga xos vositalarni taklif etadi. Va nihoyat, vosita sahifalarni blokirovka qilish va vikiga kirishni ta'minlash uchun ba'zi bir kichik xavfsizlik vositalarini taklif etadi.

Sinovni bajarish

FitNesse tizimidagi sinov har bir test uchun to'rtta komponentni o'z ichiga oladi:

  • Sinovni qarorlar jadvali sifatida ifodalaydigan wiki-sahifa.
  • Wiki-sahifani sharhlovchi sinov vositasi.
  • A sinov moslamasi, bu sinov vositasi tomonidan chaqiriladi va o'z navbatida sinovdan o'tgan tizimni chaqiradi.
  • Sinov ostida bo'lgan tizim sinovdan o'tkazilmoqda.

Ushbu tarkibiy qismlardan dasturiy ta'minotni ishlab chiqish guruhi ikkitasini ishlab chiqaradi: wiki sahifasi va moslama (albatta, u sinovdan o'tgan tizimni ishlab chiqaradi, ammo nuqtai nazardan qora quti sinovi faqat ikkitasi). Wiki sahifasida test jadvalini ifodalovchi qarorlar jadvalining ba'zi shakllari mavjud. Masalan, bu bo'linishni amalga oshiruvchi komponent uchun testlarni ifodalashi mumkin (misol FitNesse ikki daqiqali misolida keltirilgan):

Bo'lim tarkibiy qismlarining sinovi
Numerator qiymatiDenominator qiymatiNatija?
1025.0
1052.0
522.5

Umumiy sinov dvigateli va tekshirilayotgan tizim o'rtasidagi bog'lanishni fikstur deb nomlangan Java kodi orqali amalga oshiriladi. Yuqoridagi jadvalda ushbu kod quyidagicha ko'rinishi mumkin:

jamoat sinf DivisionComponentTest uzaytiradi Ustunli yoritgich {    xususiy ikki baravar num;    xususiy ikki baravar denom;    jamoat bekor setNumeratorValue (ikki baravar raqamlovchi) {        num = raqamlovchi;    }    jamoat bekor setDenominatorValue (ikki baravar maxraj) {        denom = maxraj;    }    jamoat ikki baravar natija() {        qaytish SystemUnderTest.bo'lmoq (num, denom);    }}

Wiki-sahifa va moslama o'rtasida xaritalash to'g'ri tuya uchun konvertatsiya qilish xaritalash. Ushbu xaritalash barcha jadval sarlavhalariga taalluqlidir va armatura sinfining nomini hamda armatura usullarini aniqlash uchun ishlatiladi. Savol belgisi bilan tugagan sarlavha dastgohdan o'qiladigan qiymat sifatida talqin qilinadi, boshqa sarlavhalar moslama uchun kirish hisoblanadi. Armatura usullari qarorlar jadvalining ustun tartibida chapdan o'ngga chaqiriladi.

Dvigatellarni sinovdan o'tkazish

Yuqorida tavsiflangan haqiqiy xaritalash (shuningdek, armatura usullarini chaqirish) sinov vositasi tomonidan amalga oshiriladi. FitNesse ushbu dvigatellarning ikkitasini qo'llab-quvvatlaydi: FIT dvigatellari va SLIM dvigatellari.

FIT

Dvigateldan tashqari, FIT o'zi uchun sinov doirasidir. U testlarni chaqirish, wiki-sahifalarni sharhlash va chiqish sahifalarini yaratish uchun funksionallikni birlashtiradi. FitNesse dastlab FIT atrofida foydalanuvchi interfeysi sifatida ishlab chiqarilgan bo'lib, u asbob nomini ilhomlantirdi.

FIT - bu vazifalarni yaxshilab ajratishdan ko'ra, sinovlarda ko'plab vazifalarni birlashtirgan ramka. Dasturiy ta'minot ishlab chiqaruvchisi ushbu fakt uchun narx to'laydi, chunki FIT dvigatelining moslamalari FIT ramka bazaviy sinflaridan meros bo'lib o'tishi kerak. Bu Java-da noqulay bo'lishi mumkin, chunki bu ramka ishlab chiquvchining sinf merosida bitta imkoniyatini talab qiladi. Bu shuningdek, armatura, tabiatan og'ir vaznli qurilish ekanligini anglatadi. Ushbu fikrlar FitNesse jamoasini so'nggi yillarda SLIM sinov dvigateliga o'tishga undadi.

Ingichka

SLIM (Simple List Invocation Method) - bu Fit-ga alternativa, SLIM dvigateli esa Yupqa protokol. Wiki-ga asoslangan sinovlarning barcha elementlarini birlashtirish o'rniga, SLIM dvigateli faqat moslamani chaqirishga qaratilgan; u FitNesse wiki dvigateli tomonidan masofadan chaqiriladigan alohida server sifatida ishlaydi. Wiki sahifasining talqini va natijalar sahifasini yaratish endi wiki dvigatelining bir qismidir.

SLIM dvigatel oddiyroq engil vaznli moslamalarni yaratishga imkon beradi POJOlar. Ushbu moslamalardan har qanday ramka sinflarini kengaytirish yoki ulardan foydalanish talab qilinmaydi, bu ularning dizaynini soddalashtiradi va armatura dizayneriga tizimni sinovdan o'tkazilayotgan tizimni to'g'ri va eng sodda tarzda chaqirishga imkon beradi. Shuningdek, u meros marshrutini ochiq holda saqlaydi va kerak bo'lsa armatura ishlab chiquvchilariga armatura ierarxiyasini yaratishga imkon beradi.

Shuningdek qarang

Kitoblar

  • Dasturiy ta'minotni ishlab chiqish uchun mos: Integrated testlar uchun ramka Rik Mugrij tomonidan; Uord Kanningem (ISBN  978-0-321-26934-8) Prentice Hall tomonidan 2005 yil iyun oyida nashr etilgan
  • FitNesse bilan sinovdan o'tgan .NET ishlab chiqish tomonidan Gojko Adzich (ISBN  978-0-9556836-0-2) Neuri Limited tomonidan nashr etilgan (2008 yil 28-fevral)
  • Phillip A. Laplante: Dasturiy ta'minot va tizimlar uchun muhandislik, Auerbach nashrlari, Boka Raton, FL, 2009, 166–167 betlar, ISBN  978-1420064674

Adabiyotlar

  1. ^ Martin, Robert C. "Litsenziya sarlavhasi". FitNesse manbai ombori. GitHub. Olingan 4 iyul 2012.
  2. ^ Robert, Martin. "TDD ning uchta qoidasi". butunclebob.com. Olingan 23 avgust 2019.

Tashqi havolalar