I. Dasturiy ta'minotni ishlab chiqish jarayonining etukligi
Dasturiy ta'minot sifatining asosi ishlab chiqish jarayonlarini standartlashtirishda yotadi. Avtomobil SPICE qobiliyat darajalari hozirda dasturiy ta'minot jarayonining etukligi uchun sanoat benchmarkidir, ammo CL2 yoki CL3 ga erishish faqat asosiy hisoblanadi. Dasturiy ta'minotni etkazib berish sifatini aniq belgilab beradigan narsa jarayonni bajarish paytida og'ishlarni nazorat qilishdir. Talablarni boshqarishni misol tariqasida oladigan bo'lsak, umumiy og'ish, talab o'zgargandan so'ng, tegishli test holatlari sinxron ravishda yangilanmaydi. Bir loyihada SOPdan so'ng OTA yangilash funksiyasi topildi, bunda avtomobil past zaryadlanganda OTA yuklab olish vazifasi xatolik haqida xabar bermasdan noma'lum muddatga to'xtatib qo'yiladi. Buning asosiy sababi talab hujjatida zaryaddan himoyalanish mantig'ining past holatini qo'shganligi edi, ammo tegishli sinov holatlari hali ham uzilishlar va tiklash stsenariylarini o'z ichiga olmasdan yuklab olish funktsiyasini tekshirishni qamrab oldi. Kirishdan boshlab, kashfiyotgacha bu nuqson to'rtta takroriy versiyani qamrab oldi va tuzatish narxi erta topilganidan deyarli qirq baravar yuqori edi. Talablarni kuzatish matritsasi uzluksiz integratsiya quvuriga kiritilishi kerak. Talab holati oʻzgarganda, bogʻlangan test holatlari uchun koʻrib chiqish vazifalari avtomatik ravishda ishga tushirilishi va koʻrib chiqilmagan test holatlari bloklanuvchi elementlar sifatida belgilanishi kerak. Kodni ko'rib chiqish ham miqdoriy jihatdan aniqlanishi kerak. Tadqiqotlar shuni koʻrsatadiki, har ming satr kodiga ikkitadan kam sharhli sharhga ega modullar post{12}}chiqarish nuqsonlari zichligi ming satrga beshtadan koʻp izohga ega modullarga qaraganda uch baravar yuqoriroqdir. Biroq, sharhlar sonini mutlaq ko‘rsatkich sifatida ishlatib bo‘lmaydi, chunki sifatsiz{14}}fikrlar ham mavjud. Samarali yondashuv ko'rib chiqish sharhlarini besh toifaga ajratishdir: mantiqiy xatolar, etishmayotgan chegara shartlari, kodni o'qish qobiliyati, ishlash xavfi va xavfsizlik xavflari, ayniqsa ikkita halokatli toifani aniqlash tezligiga e'tibor qaratiladi: mantiqiy xatolar va xavfsizlik xavflari.
II. Uzluksiz integratsiya va uzluksiz sinov
Dasturiy ta'minot iteratsiyasini tezlashtirish testni chapga siljitishni talab qiladi, ya'ni sifatni tekshirish kodni kiritish bosqichida joriy etiladi. Birlik sinovi eng chap mudofaa chizig'idir, ammo haqiqiy loyihalarda birlik test kodining qamrovi ko'pincha oshirilgan qiymatlardan aziyat chekadi. Bitta nazoratchi loyihasida birlik sinovi hisoboti 92% chiziq qamrovini ko'rsatdi, ammo integratsiya sinovi paytida hali ham ko'p miqdordagi asosiy xatolar topildi. Retrospektiv tahlil shuni ko'rsatdiki, ushbu xatolarni o'z ichiga olgan kod satrlari bajarilgan bo'lsa-da, test tasdiqlari tegishli natijalarni tekshirmagan. Chiziqni qoplash faqat kod bajarilganligini bildiradi, chiqishlar tekshirilganligini emas. Yaxshilash usullaridan biri bu test holatlarining samaradorligini baholash uchun avtomatik ravishda kod mutantlarini yaratadigan mutatsiya testini joriy etishdir. Agar mutant o'ldirilmasa, bu test tasdiqlarida bo'shliqni ko'rsatadi. Uzluksiz integratsiya quvurlaridagi yana bir og'riqli nuqta - bu ortiqcha sinov muddati. Bir OEM dasturiy ta'minot omborida to'liq regressiya test to'plamini ishga tushirish uchun 20 soatdan ko'proq vaqt kerak bo'ldi, ya'ni ishlab chiquvchilar kodni yuborgandan so'ng fikr-mulohaza olish uchun ko'pincha keyingi kungacha kutishlari kerak edi. Yechimlarga parallel test, test ishini ustuvorlashtirish va qo'shimcha test kiradi. Parallel test sinov majmuasini bir nechta bajarish tugunlari boʻylab ajratadi, bu esa bajarish vaqtini asl nusxaning taxminan oʻndan biriga-qisqartiradi. Sinov holatlarining ustuvorligi tarixiy nuqsonlar taqsimotiga asoslanadi va sinov holatlarining 20% yangi nuqsonlarni aniqlash ehtimoli yuqori. Ushbu kichik to'plam yangi nuqsonlarning taxminan 70 foizini qamrab olishi mumkin. Incremental test faqat joriy kod o'zgarishi bilan bog'liq test holatlarini amalga oshiradi, test hajmini dinamik ravishda filtrlash uchun o'zgarishlardan ta'sir doirasini aniqlash uchun statik tahlildan foydalanadi.
III. Dasturiy ta'minotdagi nuqsonlarni o'lchash va ildiz sabablarini tahlil qilish
Dasturiy ta'minotdagi nuqsonlarni o'lchash ko'rsatkichlari apparat nuqsonlaridan farqli ravishda ko'rib chiqilishi kerak. Uskuna nuqsonlari odatda nuqson zichligiga e'tibor qaratadi, masalan, million qismdagi nuqsonlar soni. Shu bilan birga, dasturiy ta'minotdagi nuqsonlarni taqsimlash Pareto printsipiga amal qiladi, og'ir nuqsonlarning taxminan 80% modullarning 20 foizida to'plangan. Shuning uchun modul darajasidagi nuqsonlarning yaqinlashuvi tendentsiyasi yanada samaraliroq ko'rsatkichdir, ya'ni iteratsiyalar bo'yicha har bir modul uchun ochiq nuqsonlarning aniq o'zgarishi. Agar modul uchta ketma-ket takrorlash uchun ochiq nuqsonlarning aniq o'sishini ko'rsatsa, bu refaktoringni ko'rib chiqishni talab qiladigan asosiy arxitektura muammosini taklif qiladi. Kamchiliklarning ildiz sabablarini tahlil qilish chuqurligi profilaktika choralarining samaradorligini belgilaydi. Keng qo'llaniladigan tasniflash tizimi dasturiy ta'minotdagi nuqsonlarning ildiz sabablarini besh turga ajratadi: talabni tushunishning og'ishi, dizayn mantiqiy nuqsonlari, kodlashni amalga oshirish xatolari, konfiguratsiyani boshqarish xatolari va atrof-muhitga bog'liqlik farqlari. Konfiguratsiyani boshqarish xatolari dasturiy ta'minot loyihalari uchun noyob toifadir. Umumiy misollar orasida o'rta dastur kutubxonasining noto'g'ri versiyasidan foydalanish, kompilyator parametrlarining nomuvofiqligi va filiallarni birlashtirish paytida etishmayotgan muhim tuzatishlar kiradi. Bitta loyihada tormoz chiroqni boshqarish mantiqiy xatosi yetkazib berishdan oldin oxirgi sinov bosqichida aniqlandi. Xato uch oy oldin filialni birlashtirishda kuzatilgan, bu erda ishlab chiquvchi asosiy filialdan xususiyat kodini birlashtirganda tormoz nurini boshqarish modulidagi barcha o'zgarishlarni bekor qilishni noto'g'ri tanlagan. Ushbu holat filiallarni birlashtirgandan keyin farqlarni taqqoslash majburiy darvozaga aylanishi kerakligini ko'rsatadi, bunda birlashish so'rovlarini ko'rib chiqish uchun mas'ul bo'lgan tayinlangan xodimlar mavjud.
IV. Dasturiy ta'minotni eslab qolish va OTA boshqaruvi
OTA texnologiyasining keng qo'llanilishi bilan dasturiy ta'minotdagi kamchiliklarni tuzatish usuli tubdan o'zgarib bormoqda. An'anaviy dasturiy ta'minotni eslab qolish transport vositalaridan miltillash uchun xizmat ko'rsatish markazlariga tashrif buyurishini talab qiladi, bu qimmatga tushadi,{1}}ko'p vaqt talab qiladi va foydalanuvchilarning talablarga muvofiqligi past bo'ladi. OTA chaqiruvi to'g'ridan-to'g'ri masofaviy surish orqali amalga oshirilishi mumkin, ammo tartibga soluvchi talablar





