Qabul qilish testiga asoslangan rivojlanish - Acceptance test–driven development - Wikipedia

Dasturiy ta'minotni ishlab chiqish
Asosiy faoliyat
Paradigmalar va modellar
Metodika va ramkalar
Fanlarni qo'llab-quvvatlash
Amaliyotlar
Asboblar
Bilimning standartlari va organlari
Lug'atlar
Konturlar

Qabul qilish testiga asoslangan rivojlanish (ATDD) a rivojlanish biznes mijozlari, ishlab chiquvchilari va sinovchilari o'rtasidagi aloqaga asoslangan metodologiya.[1] ATDD xuddi shu kabi ko'plab amaliyotlarni o'z ichiga oladi misol bo'yicha spetsifikatsiya (SBE),[2][3] xulq-atvorga asoslangan rivojlanish (BDD),[4] misolga asoslangan rivojlanish (EDD),[5] va qo'llab-quvvatlashga asoslangan rivojlanish, shuningdek, hikoyani sinovdan o'tkazgan rivojlanish (SDD) deb nomlangan.[6] Ushbu jarayonlarning barchasi ishlab chiquvchilar va sinovchilarga mijozning amalga oshirishdan oldin uning ehtiyojlarini tushunishda yordam beradi va mijozlarga o'zlarining domen tillarida suhbatlashish imkoniyatini beradi.

ATDD bilan chambarchas bog'liq sinovga asoslangan rivojlanish (TDD).[7] Bu ishlab chiquvchilar-tester-biznes mijozlari hamkorligiga urg'u berish bilan ajralib turadi. ATDD o'z ichiga oladi qabul testi, lekin ishlab chiquvchilar kodlashni boshlashdan oldin yozishni qabul qilish testlarini ta'kidlaydi.

Umumiy nuqtai

Qabul qilish testlari foydalanuvchi nuqtai nazaridan - tizimning tashqi ko'rinishi.[1] Ular tashqi ko'rinadigan effektlarni tekshiradi, masalan, ma'lum bir kirish uchun berilgan tizimning to'g'ri chiqishini belgilash. Qabul qilish testlari biron bir narsaning holati qanday o'zgarishini tekshirishi mumkin, masalan, "to'langan" dan "jo'natilgan" ga o'tadigan buyurtma. Ular, shuningdek, boshqa ma'lumotlar bazalari yoki veb-xizmatlar kabi boshqa tizimlarning interfeyslari bilan o'zaro aloqalarni tekshirishlari mumkin. Umuman olganda, ular mustaqil ravishda amalga oshiriladi, garchi ularni avtomatlashtirish bo'lmasligi mumkin.[8][9]

Yaratilish

Qabul qilish testlari talablar tahlil qilinganda va kodlashdan oldin tuziladi.[1] Ular talabni talab qiluvchi (mahsulot egasi, biznes tahlilchi, mijoz vakili va boshqalar), ishlab chiquvchi va sinovchi tomonidan birgalikda ishlab chiqilishi mumkin. Ishlab chiquvchilar tizimni qabul testlari yordamida amalga oshiradilar. Muvaffaqiyatsiz testlar talablar bajarilmayotganligi to'g'risida tezkor javob beradi. Sinovlar biznes domeni shartlarida ko'rsatilgan. So'ngra atamalar xaridorlar, ishlab chiquvchilar va sinovchilar o'rtasida taqsimlanadigan hamma joyda mavjud bo'lgan tilni shakllantiradi.[10] Sinovlar va talablar o'zaro bog'liqdir.[11] Sinovga ega bo'lmagan talab to'g'ri bajarilmasligi mumkin. Talabga ishora qilmaydigan test keraksiz test hisoblanadi. Amalga oshirish boshlangandan so'ng ishlab chiqilgan qabul testi yangi talabni anglatadi.[12]

Sinov strategiyasi

Qabul qilish testlari umumiy test strategiyasining bir qismidir. Ular tizimning biznes maqsadlarini namoyish etadigan mijozlar testlari. Komponentli testlar - bu me'mor tomonidan ishlab chiqilgan, katta modullarning ishlashini ko'rsatadigan texnik qabul testlari. Birlik sinovlari ishlab chiquvchi tomonidan oson saqlanadigan kodni boshqarish uchun yaratiladi.[13] Ular ko'pincha qabul testlari va birlik sinovlaridan kelib chiqadi. O'zaro faoliyat funktsional testlar foydalanishga oid testlarni o'z ichiga oladi,[14] qidiruv sinovlari,[15] va mulkni sinovdan o'tkazish (o'lchov va xavfsizlik).[16]

Qabul qilish mezonlari va testlari

Qabul qilish mezonlari - bu test orqali tekshiriladigan narsalarning tavsifi. "Foydalanuvchi sifatida men kutubxonadagi kitobni tekshirib ko'rmoqchiman" kabi talabni hisobga olgan holda, qabul qilish mezonlari "kitob tugagan deb belgilanganligini tekshirish" bo'lishi mumkin. Ushbu talabni qabul qilish testi tafsilotlarni beradi, shunda test har safar bir xil ta'sir bilan o'tkazilishi mumkin.

Sinov formati

Qabul qilish testlari odatda quyidagi shaklda amalga oshiriladi:[1]

Berilgan (sozlash)

Tizimning belgilangan holati

Qachon (tetik)

Harakat yoki voqea sodir bo'ladi

Keyin (tekshirish)

Tizimning holati o'zgargan yoki mahsulot ishlab chiqarilgan

Bundan tashqari, boshlangan Bayonotlarni qo'shish mumkin VA quyidagi bo'limlarning har qanday qismida (berilgan, qachon, keyin).

Misol uchun, qadamlar quyidagicha ro'yxatga olinishi mumkin:

Berilgan Tekshirilmagan kitobVa Tizimda ro'yxatdan o'tgan foydalanuvchiQachon Foydalanuvchi kitobni tekshiradiKeyin Kitob tekshirilgan deb belgilanadi

To'liq test

Oldingi bosqichlarda biron bir aniq misol ma'lumotlari mavjud emas, shuning uchun testni bajarish uchun qo'shiladi:

Berilgan:

Tekshirilmagan kitob
Kitoblar
SarlavhaTekshirildi
Ajoyib kitobYo'q
Tizimda ro'yxatdan o'tgan foydalanuvchi
Foydalanuvchilar
IsmSem

Qachon:

Foydalanuvchi kitobni tekshiradi
To'lovni amalga oshirish
FoydalanuvchiSemTekshiriladiAjoyib kitob

Keyin:

Kitob tekshirilgan deb belgilanadi
Kitoblar
SarlavhaTekshirildiFoydalanuvchi
Ajoyib kitobHaSem

Sinov imtihoni

Sinovni aniq ma'lumotlar bilan tekshirish odatda ko'plab savollarga olib keladi. Namuna uchun quyidagilar bo'lishi mumkin:

  • Agar kitob allaqachon tekshirilgan bo'lsa-chi?
  • Agar kitob yo'q bo'lsa-chi?
  • Agar foydalanuvchi tizimda ro'yxatdan o'tmagan bo'lsa-chi?
  • Kitobni ro'yxatdan o'tkazadigan sana bormi?
  • Foydalanuvchi nechta kitobni tekshirishi mumkin?

Ushbu savollar etishmayotgan yoki noaniq talablarni yoritishga yordam beradi. Belgilangan sana kabi qo'shimcha tafsilotlar kutilgan natijaga qo'shilishi mumkin. Qabul qilishning boshqa sinovlari allaqachon tekshirilgan kitobni tekshirishga urinish kabi shartlar kutilgan xatoni keltirib chiqarishi mumkinligini tekshirishi mumkin.

Yana bir sinov namunasi

Aytaylik, biznes mijozi foydalanuvchi bir vaqtning o'zida bitta kitobni tekshirishi mumkin bo'lgan biznes qoidalarini xohlagan. Quyidagi test shuni ko'rsatadiki:

Stsenariy:Kassa biznes qoidalari bajarilishini tekshiring

Berilgan:

Tekshirilgan kitob
Kitoblar
SarlavhaTekshirildiFoydalanuvchi
Ajoyib kitobHaSem
Yana bir ajoyib kitobYo'q
Foydalanuvchilar
Ism
Sem

Qachon:

Foydalanuvchi boshqa kitobni tekshiradi
To'lovni amalga oshirish
FoydalanuvchiSemTekshiriladiYana bir ajoyib kitob

Keyin:

Xatolik yuz berdi
Xato yuz berdi
Tavsif
Kassada ish yuritish qoidalarini buzish

Loyihani qabul qilish testlari

Talablarni qabul qilish testlaridan tashqari, qabul qilish testlari umuman loyihada ishlatilishi mumkin.[1] Masalan, agar bu talab kutubxona kitoblarini tekshirish loyihasining bir qismi bo'lsa, butun loyihani qabul qilish testlari bo'lishi mumkin. Ular ko'pincha atamalar bilan ataladi SMART maqsadlari. Misol tariqasida "Yangi kutubxona tizimi ishlab chiqarilayotgan paytda, foydalanuvchilar bugungi kunga qaraganda uch baravar tezroq kitoblarni tekshirib ko'rishlari mumkin".

Shuningdek qarang

Adabiyotlar

  1. ^ a b v d e Pugh, Ken (2011). Yalang'och-tezkor qabul qilishni sinovdan o'tkazgan holda ishlab chiqish: hamkorlik orqali yaxshiroq dasturiy ta'minot. Addison-Uesli. ISBN  978-0321714084.
  2. ^ Adzich, Goyko. (2009) Aloqa bo'yicha bo'shliqni bartaraf etish: namunalar va tezkor qabul sinovlari bo'yicha spetsifikatsiya, Neuri Limited,
  3. ^ Adzich, Goyko (2011). Namuna bo'yicha spetsifikatsiya: Muvaffaqiyatli jamoalar kerakli dasturiy ta'minotni qanday etkazib berishadi. Manning. ISBN  978-0-321-27865-4.
  4. ^ Chelimskiy, Devid, Deyv Astels, Zak Dennis, Aslak Hellesoy, Brayan Xelmkamp va Dan Nort. RSpec kitobi: RSpec, bodring va do'stlar bilan o'zini tutishni rivojlantirish. Pragmatik kitoblar javoni.
  5. ^ "Namunaviy dizaynlashtirilgan dizayn". Olingan 2013-04-15.
  6. ^ "Hikoyalarni sinovdan o'tkazish asosida ishlab chiqish" (PDF). Olingan 2013-04-15.
  7. ^ Bek, Kent. Sinovga asoslangan rivojlanish: namuna bo'yicha. Addison-Uesli Professional, 2002 yil.
  8. ^ Melnik, Grigori va Frank Maurer. Melnik, Grigori; Maurer, Frank (2007). "Amalga oshiriladigan qabulni sinovdan o'tkazish asosida rivojlantirishning bir nechta istiqbollari". Dasturiy injiniring va ekstremal dasturlashdagi tezkor jarayonlar. Kompyuter fanidan ma'ruza matnlari. 4536. 245-249 betlar. doi:10.1007/978-3-540-73101-6_46. ISBN  978-3-540-73100-9.
  9. ^ Koskela, Lasse. (2007) sinovdan o'tkazilgan: Java ishlab chiquvchilari uchun TDD va qabul qilish TDD. Manning nashrlari
  10. ^ Evans, Erik. (2003) Domenga asoslangan dizayn: dasturiy ta'minot qalbidagi murakkablik bilan kurashish. Addison-Uesli Professional.
  11. ^ Vaynberg, Jerald; Guse, Donald (1989). Talablarni o'rganish: dizayndan oldin sifat. Dorset uyi. ISBN  0-932633-13-7.
  12. ^ Martin, Robert C. va Grigori Melnik."Sinovlar va talablar, talablar va testlar: Mobius Strip" (PDF). Olingan 2013-04-15.
  13. ^ [Test-driven_development]
  14. ^ Meszaros, Jerar va Janis Aston. (2006) "Tezkor loyihaga qulaylik testini qo'shish". Tezkor konferentsiya
  15. ^ "Eksperiment sinovlari tushuntirildi" (PDF).
  16. ^ Meszaros, Jerar. (2007) xUnit sinov namunalari: Qayta ishlash test kodi. Addison-Uesli.

Tashqi havolalar