Tester yoxsa Developer? - Sizə ən çox hansı uyğun gəlir?
Dünyamız getdikcə rəqəmsallaşdıqca, müxtəlif platformalar
üçün hazırlanan proqramların sayında artım müşahidə olunur. Bu proqramların desktop, noutbuk, televizor, soyuducu, avtomobil və ya mobil cihaz üçün
olmasından asılı olmayaraq, tətbiqin vaxt, əhatə dairəsi və büdcə daxilində
tamamlanmasını təmin etmək üçün onların hamısı tester ( (QA və ya Quality Assurance) və developerlərdən ibarət komanda tələb edir. Proqramların keyfiyyəti də ən yüksək səviyyədə
olmalıdır ki, heç bir səhv real işdə problemlər yaratmasın. Bununla belə, bu, göründüyü
qədər asan olmaya bilər, çünki hər hansı bir platforma üçün proqramın
hazırlanması prosesi son məhsulun təqdim oluna bilən və istifadəyə yararlı
olmasını təmin etmək üçün bir çox insanı birlikdə işləməyi əhatə edir.
Proqramları kim hazırlayır?
Müasir tətbiqlər (proqramlar) mürəkkəblik və xüsusiyyətlər baxımından
daim inkişaf edir. Hər bir proqram, tətbiqin məqsədlərinə çatmaq üçün bir-biri ilə
uyğunlaşmalı olan mürəkkəb funksiyalar dəsti tələb edir. Təşkilat proqramın
yaradılmasını istədikdə, tələblər adətən proqramın onlar üçün işlənib
hazırlanmasına ehtiyacı olan tərəf tərəfindən başlanğıcda müəyyən edilir və o,
proqramı həqiqətən yaradan komanda ilə tandemdə işləyir.
Tətbiqlər proqram inkişaf qrupu tərəfindən hazırlanır.
Komandanın bir neçə rolu olacaq, bunlardan ən vacibi testçilər və developerlərdir.
Bu yazıda hər bir rolun müzakirəsi ilə birlikdə tester və developer arasındakı
fərqi araşdıracağıq. Ümid edirik ki, bu məlumat sizə proqram testi karyerası və
ya proqram developeri karyerası istəməyiniz barədə daha aydın təsəvvür əldə
etməyə kömək edəcək.
Developer nə edir?
Tətbiqin xüsusiyyətləri hazırlandıqdan sonra sonra onlar faktiki tətbiqlərə
çevriləcək. Bu, sistemin işə başlaması üçün proqramlaşdırma dilləri, məlumat
strukturları, inteqrasiya olunmuş developer mühitləri, serverlər arxitekturası və s.
daxil olmaqla müxtəlif alətlərdən istifadə etməklə developernın roludur.
İnkişaf prosesi zamanı developerlərdən tətbiqin struktur cəhətdən
sağlam olub-olmadığını və düzgün işləməsini müəyyən edəcək əsas test nümunələrini
yazmaq və icra etmək tələb olunur. Bu, adətən vahid testi kimi tanınan bir
proses vasitəsilə həyata keçirilir. Qeyd etmək vacibdir ki, vahid testi sınaqçı
tərəfindən edilən sınaq ilə eyni deyil. Vahid testləri developerlar tərəfindən
hər hansı aşkar səhvləri müəyyən etmək və proqramın gözlənildiyi kimi işləməsini
təmin etmək üçün istifadə olunur. Bununla birlikdə, developer tərəfindən kifayət
qədər erkən tutula bilməyən digər səhvlər var və sınaqçının rolu buradadır.
Developerin karyera yolu adətən aşağıdakı mərhələlərdən keçir:
• Junior Developer/ Software Developer
• Senior Developer
• Komanda Rəhbəri/ Aparıcı Developer/ Software Architect
• Layihə
meneceri
• Texniki Departament Meneceri
• CTO
Tester hansı işləri görür?
Tester proqramın gözlənildiyi kimi işləməsini təmin etmək
üçün onun bütün müxtəlif istifadə ssenarilərini sınaqdan keçirmək üçün məsul şəxsdir.
Sınaqçı aşkar edilmiş səhvləri və hansı silsilə hərəkətlərin bu xətaya səbəb
olduğunu sadalayan inkişaf qrupuna hesabat verir.
Bu qüsurlar və ya səhvlər, adətən, tətbiqin yerləşdirilməsi
və ya istehlakçılara göndərilməsindən əvvəl aradan qaldırılır. Testerin işi
proqram daxilində bir neçə fəaliyyətin həyata keçirilməsini əhatə edir - adi
istifadəçinin etdiyi kimi. Məsələn, tester konkret addımlar kombinasiyasının səhv
mesajına, proqramın çökməsinə və ya digər gözlənilməz nəticəyə gətirib çıxara
biləcəyini müəyyən etmək üçün eyni şeyi etmək üçün bir neçə fərqli yanaşmanı
sınayacaq.
Testerin karyera yolu
• Test Analitiki
• Baş Test Analitiki
• Komanda Rəhbəri
• Test Meneceri/ Test Məsləhətçisi
• Baş Test Meneceri/ Baş Test Məsləhətçisi
• Baş Məsləhətçi
Nəticə
Tester və developer arasında qərar vermək üçün karyera
seçiminiz proqram təminatının inkişafı dünyasında xüsusi maraqlarınızdan asılı
olacaq. Developer proqramlaşdırma bacarıqlarına və kod yazmaq bacarığına malik
olmalıdır. İnkişaf adətən prototiplərin yaradılması və bu prototiplərin işləyə
bildiyi qədər sınaqdan keçirilməsindən ibarətdir.
Tester isə tətbiqin
sınaqdan keçirilməsinə və onun hüdudlarına çatmasına cavabdehdir. Test edən şəxs
inkişaf etdirilən sistem haqqında dərin biliyə və mükəmməl ünsiyyət
bacarıqlarına malik olmalıdır. Ünsiyyət bacarıqları zəruridir, çünki tester səhvlər
üzərində işləyə və onları düzəldə bilməsi üçün inkişaf qrupuna səhvlər barədə məlumat
verəcəkdir.