Программирование

Тестирование и 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 специалиста. Если вы чувствуете себя уверенно – вперед, к новым вершинам фриланса!…