Junior
BDD (Xulq-atvor bilan boshqariladigan rivojlanish) nima?
sobes.tech AI
AIdan javob
BDD - bu dasturiy ta'minotni ishlab chiqish metodologiyasidir, u barcha jamoa ishtirokchilari (dasturchilar, testchilar, biznes-analitiklar) tomonidan talablar va tizim xulq-atvorining umumiy tushunilishini ta'kidlashga qaratilgan. U TDD (Test Driven Development) dan rivojlangan.
BDD ning asosiy xususiyatlari:
- Umumiy ishtirok: Barcha manfaatdor tomonlarni funksionallikni aniqlash jarayoniga jalb qiladi.
- Tabiiy til: Tizim xulq-atvorini tasvirlash uchun tushunarli, texnik bo'lmagan til (ko'pincha Gherkin) ishlatadi.
- Misollar: Xulq-atvorni aniq, haqiqiy foydalanish misollari orqali belgilaydi.
- Automatlashtirish: Xulq-atvor ssenariyalari avtomatlashtirilishi mumkin va bajariladigan hujjat va regressiya testlari sifatida ishlatilishi mumkin.
BDD ssenariyalari odatda Given-When-Then formatida tasvirlanadi:
- Berilgan: Tizimning boshlang'ich holatini tasvirlaydi.
- Qachon: Foydalanuvchi yoki tizim tomonidan bajariladigan harakatni tasvirlaydi.
- Natijada: Kutilgan xulq-atvor yoki bu harakatning natijasini tasvirlaydi.
Gherkin yordamida yozilgan BDD ssenariysi misoli:
# Xususiyat: Mahsulotni qidirish
# Foydalanuvchi mahsulotlarni nomi bo'yicha topa olishi kerak.
# Ssenariy: Mavjud mahsulotni muvaffaqiyatli qidirish
Foydalanuvchi onlayn do'konning bosh sahifasida joylashgan
Qachon u "Kitob" ni qidiruv maydoniga kiritadi
Va "Qidirish" tugmasini bosadi
Unda sahifada "Kitob" ni o'z ichiga olgan mahsulotlar ro'yxati ko'rsatiladi
Va topilgan mahsulotlar soni nolga teng emas
BDD da ishlatiladigan vositalar:
- Cucumber (turli tillar uchun eng mashhurlaridan biri)
- SpecFlow (.NET)
- JBehave (Java)
- Behave (Python)
BDD ning afzalliklari:
- Talablarni yaxshiroq tushunish.
- Noaniq yoki qarama-qarshi talablar sababli yuzaga keladigan xatolarni kamaytirish.
- Jamoalar o'rtasida samarali hamkorlik.
- Bajariladigan hujjat.
- Barqaror va texnik xizmat ko'rsatish oson avtomatlashtirilgan testlar.