Що таке quality assurance
Рішення про те, куди податися в IT підказав один, який там вже давно працює. Головний аргумент - низький поріг входження. Тобто не треба мати семи п'ядей у лобі і глибоких знань, щоб почати тестувати. Частково це правда і багато теж так думають. Особливо в частині ручного тестування. В результаті на ринку натовпу мануальщика не дуже високої кваліфікації і влаштуватися на роботу на таку позицію без досвіду роботи важко. Хоча цей короткий матеріал не про важке життя тестувальників, а про те, що взагалі таке Quality Assurance, а також пов'язані з цим поняттям терміни.
За великим рахунком, ніякої Америки айтішники тут не відкрили. Забезпечення якості - це складова будь-якої діяльності, результатом якої є продукт. Причому все одно який, принципи одні і ті ж, відмінності в методиках, інструментах і критерії. Те, що це називається Quality Assurance обумовлено тими ж причинами, за якими ми використовуємо Windows, iOS або Linux - тон у цій сфері задає Захід, в тому числі задаючи термінологію та підходи до розробки.
Отже, перейдемо до справи. Щоб продукт вийшов якісним, потрібно:
- відповідним чином організувати процес розробки. Повинні бути обрані правильні інструменти, відібрані відповідні стандарти, методики розробки, нормально організована робота і тому подібні речі. Повинна бути вибудувана грамотна система, яка потенційно дасть на виході якісний продукт. Все це називається Quality Assurance, чи то пак «забезпечення якості», яке охоплює весь життєвий цикл розробки;
- проконтролювати проміжні та кінцеві результати робіт. Правильно обрані підходи не є гарантія того, що ви отримаєте те, що очікується. Бо одна справа, коли код валить Сергій Іванович, який пам'ятає, що таке асемблер і зовсім інша, коли ці справою займається хіпстера Вася, що годиться йому в сини. Всі ми люди, люди і нам властиво помилятися. Щоб звести слідства людських слабкостей до мінімуму впроваджують цілий комплекс контролюючих це якість заходів. Це називається контроль якості або по їхньому Quality Control. QC є частиною великого комплексу заходів QA і, головним чином, відноситься до процесу розробки програмного забезпечення. Тестування ж програмного продукту є частиною комплексу заходів щодо Quality Control.
Якщо в загальному, то все. Таким чином, отримуємо, що QA> QC> Testing.
Звичайно, наведене опис не є канонічним і можуть бути інші трактування цих понять. Наприклад, нам на курсах взагалі не говорили про Quality Control, запихаючи все, що з ним пов'язано в QA. Це цілком нормальна ситуація, яка обумовлена в тому числі і тим, на які стандарти грунтуються ті чи інші методи роботи.
Ось про це - якими стандартами визначається і регулюється процес розробки - поговоримо наступного разу.