Тестване на Joomla!

Тестването на софтуер винаги е било обезсърчаваща задача. И по-голямата част от тази задача е простата математика на условни оператори if/then. Просто казано, всеки оператор if създава два възможни пътя за изпълнение на програмата. И стойността на възможните пътища е равна на 2, повишена до n-мощност (2n), където n е броят на операторите. IN Joomla около 12 000 условни, ако се използват изрази. Това означава, че има невероятен брой възможни комбинации, които на теория бихме могли да тестваме Joomla, но това би отнело няколко хиляди години. И това не отчита факта, че Joomla се използва в различни среди (Linux, Windows, Apache, IIS, MySQL, SQL Server и др.). Това е достатъчно, за да се каже, че тестването Joomla - това е много работа.
Но не се отчайвайте. Не всичко е толкова зле, колкото изглежда на пръв поглед. Например, използване на принципите на обектно-ориентираното програмиране при писане на код за Joomla, намаляваме взаимозависимостта между различните части на пакета. Съответно можем да тестваме много части от програмата независимо от други части. Това значително намалява броя на възможните тестове. Въпреки това все още имаме много повече теоретични тестове, отколкото бихме могли да тестваме.
Но ако не е възможно да тестваме всеки възможен път на изпълнение и време на изпълнение, как да тестваме Joomla и се опитвате да го направите възможно най-без грешки? Отговорът е, че използваме няколко различни стратегии за тестване. Това осигурява не само механизъм за непрекъснато усъвършенстване, но и висока степен на увереност, която освобождава Joomla, които изпращаме плаване ще работи както е планирано.
Автоматично тестване на единица
Единичното тестване може спокойно да се нарече най-научната форма на тестване. Тук пишем тестови програми, които тестват конкретни редове код в пакет. IN Joomla Единичното тестване се използва главно за платформата, където всяка програма извършва специфична работа на ниско ниво. Автоматизираните модулни тестове се изпълняват доста често и докладват незабавно, ако промените в програмата доведат до неуспех на теста. Когато това се случи, промените се връщат назад и не се прилагат, докато проблемът не бъде разрешен. Това значително намалява вероятността промяната да генерира нова грешка. Освен това, когато към платформата се добавят нови програми, трябва да се добавят автоматично тестове за тях едновременно.
С модулното тестване можем действително да измерим точния брой редове код, който е бил тестван. Що се отнася до тестовете за писане, в момента автоматизираните тестове тестват около 40% от кода на платформата. Кодерите доброволци непрекъснато работят върху писането и процентът расте. Единичното тестване е важна част от вашата стратегия за тестване Joomla и колкото повече код можем да тестваме с него, толкова по-малко грешки ще имаме.
Ако можехме да достигнем 100%, това би ли означавало, че няма повече грешки? Вероятно вече се досещате, отговорът е не. Дори да можем да тестваме целия код на платформата, винаги има човешка грешка в тестовете. И ако програмите на платформата работят точно така, както са проектирани, понякога те имат дизайнерски недостатъци, които причиняват грешки. Плюс това, платформените програми могат да бъдат злоупотребявани някъде другаде Joomla. Единичното тестване обаче значително намалява вероятността от грешки.