Тестирование и QA
Все чаще на рынке фриланс работы предлагают создание тестирования и QA. Однако далеко не все, даже бывалые фрилансеры, знают точно в чем заключаются принципы данных видов работы, многие их просто приравнивают.
Объявления тоже выглядят по разному:
- QA, тестирование – свободная вакансия для специалиста;
- нужен специалист по тестированиюQA (TS-F);
- требуется специалист по QA тестированию и прочее.
В чем же заключается существенная разница между этими понятиями?
На рынке данного типа программирования существует три основных понятия.
Первое Testing – тестирование, подразумевает контроль качества ПО. Этим занимаются тестировщики. Они проверяют ПО на корректность и полноту выполнения. Методы выполнения тестирования в современном программировании неоднозначны и разнообразны, поэтому работа эта сложная, интересная и творческая. Как правило, для тестирования задается некий формальный процесс, для которого прогоняется данный программный продукт. С помощью него выявляются все «подводные камни» и проблемные места. Однако не один специалист на скажет точно, что программа будет работать без сбоев, так как в использовании ПО большую роль играет человеческий фактор, действия которого предсказать просто невозможно.
Второе понятие – Quality Control, т.е. контроль качества, подразумевает измерение качества продукта. Отметим, что между первым и вторым грань достаточно зыбкая, поэтому тестировщики, как правило, выполняют все эти функции в процессе своей работы сами.
А вот третье понятие – Quality Assuranсe означает «обеспечение качества», что само по себе подразумевает измерение и управление качеством процесса, который используется для создания качественного ПО. Как видим, разница в данном случае существенно. Третье требует от программиста постоянного вмешательства. Поэтому, выбирая данную область фриланса нужно точно знать, чем вы хотите заниматься: тестированием (QC) или обеспечением качества (QA).
Теперь давайте обратимся к вопросу о требованиях к специалисту в данной области. Если компания, приглашающая вас на работу серьезная, то от вас могут запросить следующее:
- наличие высшего технического образования. На надо сердится на работодателей. Высшее образование кроме навыков программирования дает человеку знания о системах, методах, возможных вариантах тестирования, моделировании, дискретной математике. Далеко не всякий человек способен познать все это сидя дома, то есть, как правило, спектр знаний самоучки при всем его эго намного меньше;
- собственные наработки автоматического тестирования программ. Готовьте свое портфолио, так как хороший работодатель захочет на него взглянуть. Если вы начинающий программист, имейте в наличии несколько пусть не внедренных, но разработанных вами программ, возможно, они понравятся работодателю;
- знание процесса разработки ПО и методов автоматизации тестирования. Теория всегда должна быть в голове, а практика уже накладывается на нее;
- вас не должны смущать такие понятия, как bug/task tracking системы, bugzilla, testtrack, rational robot и прочее;
- хорошо владеть понятиями нагрузочного, регрессионного, функционального тестирования, знать методы их выполнения;
- владение SQL, Visual Script, другими языками по требованию работодателя;
- возможно, хорошее знание английского языка.
При всех сложностях получения работы, радует то, что средняя зарплата на нее явно выше 1000$ в месяц. Оцените свои силы в качестве тестировщика или QA специалиста. Если вы чувствуете себя уверенно – вперед, к новым вершинам фриланса!…