Тексеру

PHP коды үшін автоматты тексеру жазуы жақындастырудағы ең жақсы әдістердің бірі екені қабылданады және сайттарды дайындау үшін өте ыңғайлы болар. Автоматты тексерулер, сіздің өзгерістерді жасау немесе жаңа функционалды қосу кезінде қолданушы тарапынан көздірілмеден жататтықтарды анықтау үшін қолданатын жанды тараппар.

PHP үшін көптеген різгі тексеру құралдары (немесе фреймворктер) бар, олар алаңды байланыстарды пайдаланады - барлығы да көмек көрсететін, жаңа өзгерістер өтініштері мен алдымен бар бағдарламаларды жасау үшін қоса тұрмау бойынша қолдау көрсететін жанды көмекші бары.

Тестіленген Даму

Wikipedia дереккөзінен:

Тестіленген даму (TDD) - бұл бағдарлама дайындалу процесі, оған сипаттаманы жасау немесе жаңа функцияны білдіруші тест кейсін жазады. Содан кейін дайындама кодты тестті өткізеді және соңында жаңа кодты келісімді стандарттарға айналдырады. Техникалық көмекші Кент Бек, бұл техниканы дайындау немесе ‘қайта табу’ деп бағаландыруды міндетті болатын әдісті 2003 жылы айтқанда, TDD-нің сымпай ұстану мен сенімділік пайдаланушыны сенімдету үшін қостамайды десек еді.

Сіздің бағдарламаңыңыз үшін көптеген різгі тесттеу түрлері бар:

Бірлескен Тексеру

Бірлескен тексеру - бұл программалау әдісі, көмектесіп, функциялар, класстар және әдістерді дайындалу кезінде үстемделуін тексеру үшін пайдаланылатын жол. Көптеген әдіс және методтарға кіретін мәндерді тексеру арқылы, ішкі логикалықты дұрыс жұмыс істеуінен көтерілгендігін тексере аласыз. Зависимділіктерді дайындалу үшін қалпына “мок” кластар мен қамтыларды құрау және “стаб” жасау арқылы, өте жақсы тесттер кесімінің оралуын тексере аласыз.

Сіз класс немесе функция құру кезінде оның барлық міндеттері үшін бір бірлескен тест жасауыңыз керек. Өте жақсы деңгейде, сіз оған жарамсыз аргументтерді жіберсеңіз, ол қатесіз ұшырайды, жарамды аргументтерді жіберсеңіз, ол жұмыс істейді сенімді. Бұл сізге көмек көрсетеді, сонымен қатар, даму циклінде осы класс немесе функция үшін жасалған өмірінің күшіні тексере отырып, ескі қабілеттерінің көзінін ұстамауын көмек көрсетеді. Басқа альтернатива болары var_dump() тест.php файлында, бұл өте әшкерелі жасау әдісі емес - кіші пен көпті.

Бірлескен тесттерді қолдануға алуға басым болар да бар. Сіз бұл жариялау меншігінде күшті жеткізу үшін тест жаза аласыз (мысалы, сөз беретін жатасыз), содан кейін оны түзетіп, жасау туралы тестті көрсетіп болады, тесттер өте дайын күшті жеткізілгенде, патчтар қабылдану үшін өте дайындық паузаларды бір топты артықшылайды. Егер сіздің проектіңіз pull-сұрауларды қабылдайтын болса, онда сіз бұлды қажет ететіндігін бақылау көрсете аласыз.

PHPUnit PHP қолданбалары үшін бірлескен тесттерді жазу үшін де-факто тестілеу кезеңі болып табылады, бірақ көптеген альтернативалар да бар:

Интеграциялық Тексеру

Wikipedia дереккөзінен:

Интеграциялық тексеру (кейінгі кезеңде Интеграциялық және Тексеру деп аталады, тым қысқартылғаны “I&T”) - бұл программалау тестілеу кезеңі, екіншілектен жасалған программалау модульдерін біріктіріп, топта тестілеу. Бұл бірлескен тестілеу және тексеру арасында орын алады. Интеграциялық тексеру, бірлескен тестілеулері орындалған модульдерді теріске алып, оларды өте көп топтарда топтау үшін алғаш тарту тестілеу жоспарында анықталатын тесттерді қолдана алады. Олардың шығаруы - жүйелік тестілеуді үшін дайындалған жинау болып табылады.

Бірлескен тестілеу үшін пайдаланылатын көптеген адамзат кезегі тапсырып болса, бірлескен тестілеу үшін пайдаланылатын төменгі тапсырыптар қолданылады.

Функционалды Тексеру

Кейде келедігі дайындау тестілеу деп аталатын функционалды тестілеу, автоматтандырылған тесттерді қолдану арқылы сіздің бағдарламанызды қолдану жатамасын тексереді. Мысалы, тек бірлескен бөлімдерді кодтың дайындалуыны тексеруден көмек алады деп айтарымыз, функционалды тестілеу өздері бағдарлама қолданушыларының пішіндік дайындалуын тексеру үшін пайдаланылады.

Функционалды Тексеру Құралдары

Әрекет Тіркесінің Дамуы

Әрекет тіркесінің дамуы (BDD) - даму үшін екі різгі түрі бар: SpecBDD және StoryBDD. SpecBDD кодтың техникалық әрекетіне қаратылған, дегенмен StoryBDD бизнес немесе функционалды әрекеттерге немесе интерфейстерге қаратылған. PHP даму түрлері үшін фреймворктері бар.

StoryBDD арқылы, сіз өздеріңіздің бағдарламаның әрекетін сипаттау үшін адамдар менімен оқауы мүмкін болатын сөйлемелер жазасыз. Мұндастарды сіздің бағдарламанызға қаратылған жеке тесттер болуы мүмкін. PHP қолданбаларында StoryBDD үшін қолданылатын фреймворк Behat , бұл Ruby-ның Cucumber проектінен өзіне сипаттама жасайтын және функционалды әрекеттерді сипаттау үшін Gherkin DSL-ді реализациялау бағдарламасы.

SpecBDD арқылы, сіз сіздің жасалатын кодтың өзінің әрекетін сипаттау үшін түсініктеме жазасыз. Функция немесе методты тексеру көмегімен жататтықтарыңызды тексеру өтінішіні айтып, олардың өздері жанында жұмыс істеуінің сипаттауын айтып отырасыз. PHP қолданбалары үшін бұл мақсатпен PHPSpec фреймворкы бар. Бұл фреймворк Ruby RSpec проектінің сипаттама жасау үшін қолданылатын.

BDD Сілтемелер

Көмекші Тестілеу Құралдары

Жеке тесттер мен әрекет тіркесі фреймвортарының алғаш реттегімен, көмекші фреймворттар мен көмекші кітапханалар да бар, барлық қалаулы мәселелерге келетінді.

Құрал Сілтемелері