#11. Bu gün nə öyrəndim – 2022.11.19
Əslində həftənin 6-cı günlərini istirahət günü elan etmişdim özüm üçün, lakin bu gün çox böyük enerji ilə erkəndən oyanmışam. nələrsə öyrənim enerjimi boşa xərləməyim dedim.…
This piece is in Azerbaijani.
Əslində həftənin 6-cı günlərini istirahət günü elan etmişdim özüm üçün, lakin bu gün çox böyük enerji ilə erkəndən oyanmışam. nələrsə öyrənim enerjimi boşa xərləməyim dedim. Gəlin görək bu gün nə öyrəndik.
1. Multiscreen size development with XML Bildiyimiz kimi android üçün tətbiqetmə hazırlayanda biz həm tablet həm telefon üçün hazırlmaış oluruq. Bəzən kiçik ekranlarda bir cür, böyük ekranlarda başqa bir cür görünməsini istəyirik. Bunun üçün qualifierslərdən istifadə edərək bir çox formada screenlər (XML) yaradıb onları modifier edərək işlətməliyik. Detallı olaraq bu videoya baxa bilərik.
2. Multiscreen size development with JetpackCompose Indi isə eyni, çoxlu ekran ölçüsü üçün işləyərkən Jetpack Compose-da yazmış olduğumuz kodu neçə modifier edəcəyik onu araşdırdıq. Burda windows type-lar üçün data class və daxilində sealed class yaratdıq. if else olaraq hər biri üçün spesifik ekran ölçümüzü və görünüş ardıcıllıqlarını təyin etdik. Bəli yorucu işdi, bir səhifənin hər device-da fərqli görünməsini təmin etmək uzun prosesdir. Amma bəzən vacib olur - istənilir. Detallı olaraq bu videoya baxa bilərik.
3. Hansı test formaları var? Hər bir android developer (ümumiyyətlə hər bir developer) yazdığı kodun testini yazmalıdır. Çünki bəəzn ilk baxışda kodda problemləri görmək olmur, ya da manual olaraq bütün case-ləri test etmək olmur. Bunun üçün testlər yazılmalı və tam şəkildə test edilmiş olunmalıdır. İkinci məsələ isə tets əslində tətbiqin nə istədiyini göstərir. Yeniliklər artırıldıqda köhnə testlər işə salınmalı və o "istənilənlərin" yeni şeylər əlavə edərkən pozulub-pozulmamasını yoxlamaq mütləqdir.
İndi gələk 3 növ olan tetslərə. Hansı növ testlər var. 1. Unit testlər - tetbiqetmənin testlərini 70 faizi Unit testlərdən ibarət olur. Əsasən JUnit və moklamaq üçün Mock/Mockito kitabxanalarından istifadə olunur. Bir növ funksiya testidir, bir funksiyanın arqumentləri verilir, etməsi gərəkən sorğuları (db və ya api misal üçün və ya hansısa hesablama işi) simulasiya edilir və geri döndərməsi gərəkən datanı döndərib-döndərmədiyi test edilir. 2. UI test - Integration test. Bu zaman biz misal üçün close düyməsi basıldıqda sətrin və ya pəncərənin gizlənib - gizlənmədiyini (düymənin düzgün işləyib işləmədiyini) test edirik. 3. End-to-End-Test. Burada biz istifadəçinin davranışını test edirik. Misal üçün qeydlər tətbiqetməsidirsə, istifadəçi "yeni" düyməsii klikləyib, başlıq və detal hissəsini döldurub "yaddaşa ver" düyməsini klikləyir və girilən datalar ekranda - qeydlər siyahısında göründü, backendə (və ya db-yə) göndərildi kimi konseplər, funksionallığın tam işlənib-işlənməməsi test edilir.
Belə deyim, test üçün başqa bir dərsliyə başlayacam sabahdan. bu gün üçün əslində uzun olan bir videonun sadəcə başlanğıc hissəsinə baxdım. Sizinlə də həmin videonu bölüşüm.
Working…