Skip to content

QA или Tester

ноември 20, 2007

Напоследък все повече ме дразни смесването и неразбирането на понятията от заглавието в софтуерната индустрия специално. Много се чудя дали това идва от ограничената гледна точка на работодателите или от езиковата бариера. Или и аз не знам от какво.

Но за да изключим езиковата бариера ви предлагам българските съответствия на тези термини:

QA – контрольор на качеството

Tester – изпитател на софтуер

И който може да ме светне, защо всеки изпитател на софтуер си лепва титлата QA на 3-тия месец, ще съм му мерси.

п.п. Всъщност повече ме интересува как да тълкувам отговора на въпроса
„До сега сте били QA . Защо искате да започнете като junior tester?“
който беше „За да израстна професионално!“

Advertisements
8 Коментари
  1. ноември 20, 2007 4:52 pm

    Като човек, който се занимава с това, веднага ще ти кажа, че QA съответства на Quality Assurance и такава професия няма (защото се превежда като „осигуряване на качеството“). Професията е Quality Assurance Engineer, т.е. преводът е инженер по [осигуряване на] качеството (обаче в официалните БГ-документи мисля, че се наричаше „одитор по качеството“). Държа да отбележа, че подобна длъжност има не само в софтуера, а в почти всички видове производства. Например, при производство на шоколад трябва човек, който да определи, че шоколадът е качествен, т.е. има приблизително закономерно съотношение между лешниците, млякото, какаото и другите съставки; че продуктите, от които се прави не са развалени; че шоколадът е изцяло опакован и срокът на годност е правилен…
    За целта съществуват унифицирани международни стандарти за осигуряване на качество на продукта, при които се следва унифициран процес – тоест, има доста общо между контрола на качеството на софтуера и контрола на качеството на шоколада.
    Естествено, има и разлики… Ако при шоколада изследваме грамаж, химичен състав, процентно съдържание и др., при софтуера работим с мерки и термини като code coverage, number of defects и много други, които предполагам хората знаят. Като цяло обаче, при софтуерът винаги правим тестване – ръчно и автоматично, функционално и нефункционално, black-box и white-box, статично и динамично, performance, load, stress, volume, smoke… има десетки видове тестване, но всичко е ТЕСТВАНЕ (изрично подчертавам, че в процеса се включват и неща като планиране на въпросното тестване и правене на изводи/отчети спрямо резултатите от него)!
    Така че не е проблем да наречем длъжността Software Tester (или Software Test Analyst, което според мен е по-правилно, при условие, че правим планиране и отчитане на резултатите). В същото време, за да сме съвместими с международните стандарти като ISO например, нужно е нашият Software Tester да бъде упоменат точно като Quality Assurance Engineer. Така че на теория длъжностите са различни и Software QA Engineer би следвало да покрива по-голям периметър от дейности, свързани с документация, съответствие на спецификации и изисквания, както и най-важното: да работи по точно определен процес, съвместим с даден международен стандарт. За Tester това не е задължително.
    Казано с други думи, Quality Assurance е ориентирано към процеса, а тестването принадлежи по-скоро към Quality Control (QC), т.е. насочено е към конкретния продукт… и толкова!
    Ето защо въобще не е задължително да работиш години, за да бъдеш QA Engineer. Според мен, най-точната теоретична разлика е в това, че Tester би следвало да бъде включен само във фазата Test Execution, докато QA Engineer би следвало да участва във всички фази от процеса на тестване.
    Практиката и особено практиката в България обаче недвусмислено показва, че професиите са абсолютно идентични…
    Disclaimer: Мнението е лично и не представлява съвет за покупко-продажба на ценни книжа 🙂

  2. ноември 20, 2007 5:06 pm

    Първо да си кажа аз: Ураааа, аз правя сравнение със салам, а не с шоколад. Ама вече сме двама с това мнение.

    Е добре де ама защо човек ще си пише в титлата нещо дето не го прави примерно? Мен ме дразни факта че всички са QA-и на титла и чисти tester-и на практика. Малко са хората, които съвместяват и двете неща.

    Иначе всичките ти дефиниции са си много точни, ама на практика – особено практиката в България са направо излишни. 😉

    Повод за конкретното ми възмущение са едни теми в едни форуми където всички са се разписали като QA-и. И на въпроса какво правят се оказва, че извършват едно голо тестване. И че форума дава информация само за тестване, и разни програмчета и техники за тестване, но нищо друго.

    Ми да си го бяха писали форум за тестване, не за качество.

  3. mikeramm permalink
    ноември 21, 2007 11:13 am

    Аз имам по-специално мнение за термина QA, който преведен на български означава „осигуряване на качеството“. Качеството на един продукт, според мене, може да бъде осигурено само от този, който го произвежда. Не знам откъде е дошло това наименование, но явно много дълбоко е заседнало, особено в софтуерната индустрия и много трудно би могло да се изкорени.

    В много фирми се използва понятието Quality control (QC), което винаги си е имало своя български аналог – качествен контрол или контрол на качеството. Смятам, че това е по-правилния термин, защото всички хора, които твърдят, че се занимават с QA, всъщност правят QC. Те не го „осигуряват“ качеството, защото нищо не произвеждат. Те могат само да го следят и да го контролират дали отговаря на някакви предварително зададени критерии и ако не – да го спрат от разпространение.

    А съвсем отделна тема е качеството на самия производствен процес и защо тестерите се занимават с това…

  4. ноември 21, 2007 4:50 pm

    mikeramm,

    лаик съм в областта. Но до колкото знам един QA се занимава не само с търсене на допуснати проблеми, но и с установяване на превантивни политики, имащи за цел осигуряването на по-качествена продукция. Освен това не мога да се съглася, че те не “осигуряват” качеството защото нищо не произвеждат – мисля, че тук трябва да се тръгне от дефиницията за „производство“. Гери, я намери подходяща? 🙂

  5. mikeramm permalink
    ноември 21, 2007 6:33 pm

    По принцип спорът може да стане и много философски. Ако работниците, които произвеждат продукта, са твои роби, кой осигурява качеството – те с труда си или ти като ги биеш с камшика?

    Моята идея е, че всички ангажирани в производствения процес трябва да отговарят за качеството на продукцията. Понеже се занимавам с производство на софтуер съм забелязал, че това разделение води до лоши последици. Програмистите работят некачествено, защото знаят, че има тестери, които ще им открият бъговете и които биват набедени, че ще понесат отговорността за неоткритите такива. От друга страна, QA инженерите, които в много фирми са просто тестери, дефинират процесите, които програмистите трябва да следват, за да произведат качествен продукт.

    Всичко това е едно голямо „мешане на капите“ и в много случаи води само до бягство от отговорност.

  6. ноември 21, 2007 7:18 pm

    Програмистите работят некачествено, защото знаят, че има тестери, които ще им открият бъговете и които биват набедени, че ще понесат отговорността за неоткритите такива.

    Хм, да имаш голям брой открити бъгове според мен не говори никак добре за личните ти качества като програмист! И за това знанието, че ще ме тестват, е отличен стимул да се старая дори повече да си открия бъговете сама преди друг да го е направил.

  7. ноември 22, 2007 9:56 am

    Да сме наясно за едно: качествения продукт се получава само със съзнателното желание и участие на всички заинтересовани страни. От клиента до тестера и до хардуеристите ако щете.

    Принцип е че всеки си има свои задължения и трябва да ги изпълнява качествено.

    Тук големият въпрос е защо сред обществото има такова неразбиране и смесване на понятията залегнали в титлите на една или друга професия.

    За да си QA или QC се иска повече от просто тестване. А хората нито го разбират, нито го отчитат, нито искат да пробват да си разширят мирогледа. За тях е важна титлата, а не какво реално правят.

    За мен е важно какво правиш и да го направиш по най-добрия начин. Как да подобриш нещо в една фирма така, че хем да улесниш работещите хем да се подобри качеството. Но това изисква познаване на всеки един процес на всяка една дейност. Да си ги правил да си се сблъсквал с тях, да осъзнаваш добре кой какви проблеми среща в ежедневната си работа.

    И съжалявам ама не всеки тестер може да се похвали с това. Значи не би трябвало да може и да носи титла различна от тестер.

  8. Даниел Игнатов permalink
    март 4, 2008 3:02 pm

    QA не е равно на QC
    QAЕ не е тестер
    QAЕ планира и внедрява, тестер – изпълнява.
    🙂

Коментари са забранени.

%d bloggers like this: