От тестировщика
Содержание:
- Что делает тестировщик ПО, кто он?
- Какими качествами обладает QA Lead
- Что такое QA тестирование? Виды тестирования
- Мануальное и автоматизированное тестирование
- Как и куда развиваться в профессии
- Quality Assurance Approaches
- Плюсы и минусы профессии тестировщика ПО
- Differences between SQA and Software Testing
- Какие навыки нужны QA-аналитику
- Кто такие QA и QC
- Examples of customer service quality assurance programs
- Где и как учиться на тестировщика
- Какие вопросы чаще всего задают на собеседовании на данную позицию? Чего в iTechArt ждут от Manual QA Engineer, чтобы сделать job-offer?
- Test Maturity Model (TMM):
- 💁♀️ Чем занимается QA-тестировщик
Что делает тестировщик ПО, кто он?
Должность тестировщика ПО предполагает контроль качества и поиск ошибок в готовом продукте, а также в обновлениях. Специалисты используют ручное и автоматическое тестирование, проверяют безопасность и выполняют другие работы, необходимые для выявления и последующего устранения проблем. Они не устраняют ошибки самостоятельно, но формируют отчеты, которые используют разработчики.
Внутри профессии есть условное деление на узкие специализации. Например, существуют автоматизаторы, которые пишут код, используемый для автоматизации тестирования. Usability-специалисты осуществляют проверку характеристик, которые представляют интерес для потенциального пользователя, а Security прорабатывают вопросы безопасности. Однако работодатели заинтересованы в многозадачных сотрудниках, которые смогут выполнить всестороннее тестирование.
Говоря о том, что нужно знать тестировщику ПО, стоит упомянуть следующие дисциплины и понятия:
- система контроля версий Git;
- основы баз данных и тестирования ПО;
- HTTP, а также особенности разных операционных систем (BASH, CMD, PowerShell);
- сетевые протоколы;
- язык запросов SQL;
- инструменты, используемые для управления процессом тестирования, в частности JIRA, TestLink и другие;
- системы отслеживания ошибок;
- основы хотя бы одного языка программирования, в приоритете Java, JavaScript, C#.
Объем профессиональных компетенций зависит от уровня компании, а также от специфики продукта. В обязанности тестировщиков ПО входят следующие работы:
- осуществление контроля качества ПО;
- выявление, фиксирование и анализ ошибок;
- формирование отчетов для команды разработчиков;
- разработка автотестов и сценариев, использование готовых решений, ручное тестирование.
Они могут заниматься не только программным обеспечением, но и осуществлять проверку мобильных и десктопных игр, обновлений, иных продуктов.
Какими качествами обладает QA Lead
Опыт
Когда говорят о приобретении опыта, вспоминается цитата из романа Риты Мэй Браун:
«Хорошее суждение происходит из опыта, а опыт происходит из ошибочного суждения ранее.»
Годы, проведенные в ИТ-индустрии, дают опыт в разных контекстах, и этот опыт готовит сотрудника к будущим вызовам, создает личную «базу знаний» по разным нюансам тестирования; как себя вести в разных ситуациях, и как взаимодействовать с сотрудниками. Это не дается легко: нужно достойно пройти сложные ситуации и уметь справиться с ними, рассматривая это как первые пробные шаги в карьерной лестнице.
Детальное, но вместе с тем стратегическое мышление
Команда должна доверять своему лиду. Единственный путь достичь доверия: убедить команду в том, что ее лид отлично знает задачи QA-департамента, все возможности и ограничения QA-команды.
Руководство компании и менеджмент других отделов также должны быть уверены, что ты обладаешь широким, стратегическим видением. Практический пример: руководство компании ставит тебе задачу улучшить то, что называется customer satisfaction (то есть улучшить мнение клиентов об услугах компании), при этом указывает на необходимость улучшить работу QA-департамента под твоим руководством, и говорит об автоматизации. Теперь тебе надо «транслировать» эту задачу своему департаменту; например придется обсудить с командой автоматизацию тестов, особенности фреймворков которые возможно уже применяются, структуру тестов и т.п.; и команда должна быть уверена, что ее лид отлично разбирается во всех нюансах. Чем лучше ты вникаешь в нюансы автоматизации, тем больше уверенности у команды в том что лид успешно решит все проблемы. Итак, ты подбираешь инструменты автоматизации, лучше всего подходящие в текущих реалиях, и совершенствуешь процессы в отделе, что неминуемо приводит к улучшению customer satisfaction. Чем лучше умение совмещать локальное видение от сотрудников департамента со стратегическим видением от руководства, тем выше вероятность стать хорошим лидом.
Смелым сопутствует удача
Смелость и нешаблонность в решении задач будет полезной во многих рабочих контекстах, и, разумеется, от лида требуется гораздо больше смелости и нешаблонности, чем от рядового сотрудника QA-отдела.
У «свежих» лидов уходит много времени чтобы научиться честно говорить с высшим руководством о рабочих моментах; обычно существуют моменты, о которых каждый в QA-отделе хотел бы сказать, но не у каждого получается.
Например:
- Хороший лид умеет быть услышанным на митингах и стендапах, относительно проблем/задержек со стороны разработчиков
- Умеет формулировать и продвигать идеи (как свои, так и команды) по улучшению тестирования
- Участвует в обсуждениях, не имеющих прямого отношения к тестированию — например, по процессам.
Влиятельность
Влиятельность внутри компании — важное дело в превращении в QA Lead. Это понятно, лид должен за все отвечать в контексте QA
Опыт, приобретенный в роли рядового тестировщика, а также возникшие идеи по совершенствованию процесса, умноженные на полученную лидерскую должность — обеспечат пользу QA-отделу и всей компании. Сам по себе лид не сделает ничего, ибо всегда нужно объяснить идею команде и простимулировать команду, и тогда идея будет внедрена.
Лид должен быть авторитетным как у себя в отделе, так и у руководства: тогда он сможет убедить в идее всех заинтересованных лиц («стейкхолдеров»), а в первую очередь высшее руководство, демонстрируя плюсы и минусы идеи, умело орудуя цифрами и метриками
Важно понимать аудиторию
Устойчивость
Сложные времена иногда приходят, как ни старайся их избежать. Чтобы эффективно бороться с «челенджами», надо обладать так называемым «устойчивым образом мыслей». Это то, как ты реагируешь на проблемы, твоя способность «восстанавливаться после ударов».
В QA постепенно сложилась хорошая практика — предвидеть риски, проблемы в проекте или в какой-то функциональности. Почти каждый тестировщик, просто по специфике своей работы, достаточно хорошо подготовлен к внезапно возникающим проблемам, умеет хотя бы смягчать риски если нельзя избежать их, и более-менее способен предвидеть, где будут возникать проблемы.
Когда в компании возникли проблемы, и нужно смотреть на ситуацию на стратегическом уровне, толковый тестировщик, недавно выдвинутый на позицию QA Lead, не забывает скиллы терпения и устойчивости, приобретенные у себя в QA-отделе.
И еще
Скилл коммуникации — умение мотивировать, подчеркнутое уважение к коллегам, честность — и у тебя неплохие шансы. Улучшить коммуникацию помогут статьи из раздела Soft-skills у нас на сайте.
Что такое QA тестирование? Виды тестирования
QA, или Quality Assurance — это комплекс мер для обеспечения качества ПО. В этот комплекс входит анализ всех условий, которые могут сказаться на качестве разработки и готового продукта.
QA тестирование бывает функциональным и нефункциональным:
- Функциональным. Проверяет работу всех функций мобильного/десктопного приложения или сайта и анализирует взаимодействие разрабатываемой системы с другими программными продуктами. Функциональное тестирование показывает, насколько приложение производительно, насколько удобно пользоваться интерфейсом, устанавливать его. Эти тесты проверяют защищенность и надежность системы, ее совместимость.
- Нефункциональным. Эти тесты исследуют характеристики приложения или сайта, которые можно измерить. Такие тесты демонстрирует «КАК», насколько хорошо работает программа.
Также тестировщики занимаются:
- Тестированием производительности. Нагрузочные тесты показывают, справляется ли ПО со стандартной нагрузкой и помогают определить максимально возможную нагрузку на систему. Стресс-тесты изучают работу приложения или сайта при нестандартных нагрузках.
- Регресс-тестами. Проверяют, насколько сказываются новые опции программы и откорректированные ошибки на функциональности программы.
- Модульными тестами. Отдельная проверка модулей для нахождения тех, которые вызывают проблему.
- Тестированием безопасности. Проверка защищенности программного продукта от вирусов, хакеров, кражи конфиденциальной информации.
- Проверкой локализованных версий приложения. Тесты показывают, насколько корректен перевод интерфейса, выдаваемых пользователю сообщений, пояснительной документации.
- Usability-тестированием. Тестирование удобства работы с приложением/сайтом для пользователей, его понятности и простоты. Такие исследования позволяют выявить проблемы с навигацией, основным и дополнительным функционалом.
Словом, QA специалист — это человек, который проверяет программный продукт вдоль и поперек. Тестировщик выясняет, как ПО поведет себя при ожидаемом или отличном от ожидаемого поведении пользователя. Изучает, что происходит с приложением, когда с ним работает знающий или не знающий систему человек – тестирование «белого ящика» и «черного ящика» соответственно.
Мануальное и автоматизированное тестирование
Как проверяется функционал и качество программного обеспечения? Для этого необходимо создавать специальные условия и реализовывать наборы сценариев, наблюдая за поведением продукта. Например, функционал сайта предполагает, что пользователь может зарегистрироваться и создать учетную запись. В процессе тестирования необходимо проверить, как ведет себя приложение, когда посетитель пытается создать аккаунт. Для каждого проекта составляется список функционала и сценариев, которые необходимо протестировать.
По способу реализации тестирование разделяется на два вида:
- Ручное (мануальное);
- Автоматизированное.
Мануальное тестирование проводится без привлечения средств автоматизации. Специалист вручную реализует тестовую ситуацию для проверки компонента или функции программного обеспечения. Ручное тестирование, как правило, применяется для небольших и несложных продуктов. Такая проверка также подходит для исследования недочетов в интерфейсе или дизайне приложения.
Автоматизированное тестирование — проверка ПО и поиск дефектов с помощью средств автоматизации. Тестировщики используют языки программирования, библиотеки, API и другие инструменты, чтобы тестовый случай реализовывался без ручного вмешательства.
Преимущества автоматизированного тестирования:
- повышение скорости проверки приложения;
- возможность решать сложные задачи (нагрузочное тестирование и т.д);
- минимизация человеческого фактора.
Тем не менее у автотестирования присутствуют и недостатки. Этот процесс дороже, требует более квалифицированных кадров, а также не подходит для проверки некоторых характеристик приложения (например, дизайна, цветового оформления).
Для работы с дефектами используются специальные системы отслеживания ошибок (багтрекеры), куда заводятся все данные о баге. Как правило, каждый обнаруженный дефект ПО фиксируется с такими атрибутами:
- Bug ID (идентификатор ошибки);
- Severity (серьезность влияния дефекта на приложение);
- Priority (приоритетность устранения бага);
- Description (описание дефекта);
- Steps to reproduce (шаги для воспроизведения бага);
- Expected result (ожидаемый результат);
- Actual result (фактический результат).
Если есть такая возможность, то к описанию дефекта прилагается скрин или видео для наглядной демонстрации бага.
Как и куда развиваться в профессии
Рассмотрим карьерный рост QA-тестировщика по этапам.
- Стажёр — это новичок, который изучил основы, но пока не получил опыта работы.
- Новичок — сотрудник с небольшим опытом работы, обычно меньше полугода. Он может проводить простые тесты.
- Специалист QA-тестировщик — специалист, который умеет писать скрипты тестирования, может сам протестировать продукт и составить отчёт о проверке. Он также способен проанализировать результаты улучшения показателей и знает, как оптимизировать процесс разработки.
- Старший QA-тестировщик — опытный специалист, который может брать на себя ответственность за выполнение сложной работы. Старший QA-тестировщик хорошо разбирается и умеет применять разные виды тестирования, может брать шефство над новичками.
- Ведущий инженер — способен руководить командой инженеров, оценивать сроки тестирования и определять наиболее эффективные способы тестирования.
- Разработчик — навыки, приобретённые в тестировании, помогут тестировщику создавать и проверять свой продукт.
- Менеджмент — если тестировщик во время работы прокачается в управленческих навыках, он может начать работать с командой. Менеджер ставит задачи подчинённым и контролирует их выполнение.
- Бизнес-аналитик — это посредник между заказчиком и командой. Он умеет разобраться в бизнес-процессах и перевести задачи на язык разработчиков.
QA-тестирование представляет широкие возможности для развития карьеры.
Осваивайте новую интересную профессию на онлайн-курсах. Предлагает подборку лучших курсов по QA-тестированию. На этих курсах вы научитесь искать ошибки в работе сайтов и приложений, освоите самые современные инструменты для тестирования и отточите полученные навыки на практике.
Quality Assurance Approaches
- Failure Testing: Also referred to as stress testing, failure testing is a way to push a product to its limits by increasing vibration, temperature, humidity, etc., to expose inherent weaknesses, and then use those findings to improve the product to uphold a higher standard.
- Statistical Control: This type of quality assurance is based on analyses of objective and subjective data to track quality data, and then chart it against a common cause variance.
- Total Quality Management: Here the quality of the product is dependent on the participating constituents, some sustainable and controllable, others not. If the specification does not match its true quality requirements, then the quality is not guaranteed.
- Models and Standards: This is an international standard that has general requirements for competence. There are tests to carry out, 15 management requirements and 10 technical requirements, in a laboratory that is accredited.
- Company Quality: This concept came about in the 1980s and focuses on all departments approaching quality lead by management to develop a quality improvement process. This is done through controls, job management, process, performance, knowledge, skills and experience, integrity, confidence and infrastructure.
Плюсы и минусы профессии тестировщика ПО
Задаваясь вопросом о том, кто такой тестировщик сайтов и мобильных приложений, и принимая решении о начале обучения, стоит соотнести преимущества и недостатки специальности.
Плюсы
- Придется постоянно повышать квалификацию, и это будет интересно! IT-отрасль развивается динамично и не дает специалистам деградировать интеллектуально.
- Зарплата тестировщика с опытом высока и приближается к зарплате программиста.
- QA тестеры и инженеры — люди востребованные, и спада популярности этой профессии не наблюдается. В том числе, в периоды экономических кризисов.
Минусы
Работа тестировщика — рутинная. В особенности, если речь о ручном проведении тест-кейсов и написании документации
Эта работа подходит для людей с соответствующим мышлением.
Придется много сидеть за компьютером и отдельно заниматься поддержанием физической формы.
Важно научиться приходить к компромиссу с большим количеством людей, обладающих разными пожеланиями к программному продукту. Мнения программистов, заказчиков и пользователей могут не совпадать, и эти проблемы часто придется решать тестировщику.
Differences between SQA and Software Testing
Following table explains on differences between SQA and Software Testing:
SQA | Software Testing |
---|---|
Software Quality Assurance is about engineering process that ensures quality | Software Testing is to test a product for problems before the product goes live |
Involves activities related to the implementation of processes, procedures, and standards. Example – Audits Training | Involves actives concerning verification of product Example – Review Testing |
Process focused | Product focused |
Preventive technique | Corrective technique |
Proactive measure | Reactive measure |
The scope of SQA applied to all products that will be created by the organization | The scope of Software Testing applies to a particular product being tested. |
Какие навыки нужны QA-аналитику
Аналитическое мышление
Необходимо на этапе исследования продукта, когда нужно разобраться с пожеланиями и требованиями клиента. QA-аналитик делает предположения, чего хочет заказчик, изучает похожие системы у конкурентов и согласует с ним.
Для качественного исследования продукта необходимы аналитический склад ума, умение искать информацию, ориентироваться в ее больших объемах, отделять важное от неважного, обобщать результаты и доступно формализовать их в цифрах.
Сосредоточенность
Тестирование подразумевает проверку готовой системы на соответствие спецификации, техзаданию или видению продукта, написанному командой разработчика или предоставленному клиентом на старте проекта.
Для этой задачи от QA-аналитика требуются усидчивость, способность выдерживать монотонную работу, а также умение посмотреть на систему глазами пользователя.
Эрудиция
Проверка соответствия системы вайрфреймам осуществляется вручную. Например, QA-аналитик проверяет, верно ли происходят переходы, в нужных ли местах появляются поп-апы, не перекрывают ли они важные элементы.
Кроме того, в процессе тестирования юзабилити оценивается дизайн: например, не едут ли шрифты, одного ли они размера, достаточные ли отступы и т.д.
Здесь также нужны усидчивость и внимательность, а еще насмотренность — представление, что происходит в области современной разработки, какие существуют тренды в верстке и дизайне. Быть экспертом не обязательно, но быть осведомленным нужно.
Эмпатия, умение структурировать и объяснять
В больших компаниях этим занимаются технический писатель или выделенный аналитик. Но у QA-аналитика есть перед ними преимущество: он очень близок к системе, каждый день работает с ней, поэтому документацию ему написать проще.
Нужно только представлять, на какую аудиторию рассчитаны инструкции и, исходя из этого, выбрать степень их детализированности. QA-аналитик является держателем всех требований по проекту, в любой момент к нему можно обратиться с вопросами «Как это должно работать?» или «Какова цель этого функционала?»
Для создания документации потребуются умение структурировать информацию, входить в положение читателей и смотреть на инструкции их глазами, а также грамотная письменная речь и умение ясно выражать мысль.
Стратегическое мышление
Тестирование и приоритезация — это обычные функции QA-специалиста. QA-аналитики, в отличие от тестировщиков, принимают участие в обсуждении требований и проводят оценку влияния новых требований на уже готовую систему.
Они могут создавать мокапы по новым требованиям или прописывать сценарии использования, по которым далее будет проводиться тестирование и приемка готовых результатов.
Приоритезация требуется на стадии приемочного тестирования. Она заключается в определении, какой баг является критичным, а какой — минорным. Так или иначе, этим занимается любой тестировщик, но именно QA-аналитик знает, как устроена система с точки зрения бизнеса, и может с большим успехом сфокусировать команду на важных багах, отложив неважные на более поздний срок.
Например, он понимает, насколько доступна пользователю та или иная функциональность: лежит ли она на поверхности или скрыта в интерфейсных дебрях и будет использоваться редко, знает, когда бизнес ожидает первое использование функции: при запуске, через три месяца, через год — все это влияет на приоритет бага.
Другими словами, в отношении приоритезации QA-аналитик — это наиболее осведомленный тестировщик, виртуозно выставляющий баланс severity и priority, так, чтобы разработчики были сосредоточены на по-настоящему важных вещах в каждый момент отладки системы.
На этом этапе от QA-аналитика требуется, прежде всего, умение видеть картину в целом, а не частности.
Кто такие QA и QC
Один из самых частых вопросов на собеседованиях тестировщиков: чем отличаются QA от QC? Вопрос философский, и мне приходилось слышать очень разные ответы на него.
Традиционно под QA (Quality Assurance) понимается нечто глобальное: обеспечение всего процесса разработки, начиная от выбора методологии и специалистов и заканчивая общим контролем качества.
QC (Quality Control) — так иногда называют среднестатического специалиста по функциональному тестированию, который проверяет, насколько разработка продукта соответствует всем требованиям.
Встречается ещё третье понятие — Testing, или процесс тестирования продукта.
В каком-то смысле QA, QC и Testing — всего лишь разные этапы работы, которые выполняет тестировщик. В некоторых больших компаниях есть QA-отделы, где специалисты не занимаются функциональным тестированием вообще: они хорошо знают стандарты заказчика и следят за тем, чтобы вся команда работала по этим стандартам.
В вакансиях на рынке труда функционального (мануального) тестировщика могут называть и QA, и tester, и test engineer. Это разные наименования для одной и той же профессии.
Есть также понятие «тестировщик-универсал». В профессиональной среде мы называем таких людей «миксами». Это тестировщики, которые умеют почти всё: знают теорию и разные виды тестирования, умеют придумывать и оформлять тесты, владеют языками программирования и автоматизируют процессы. Сегодня наблюдается большой спрос именно на таких специалистов. По своему опыту могу сказать, что наличие «микса» в команде резко повышает эффективность работы.
Также существует такое понятие, как TestOps (по аналогии с DevOps). Иногда употребляются термины DevTestOps и DevTestSecOps. Это специалист, который помимо тестирования ещё занимается поддержкой всей инфраструктуры: разворачивает и обслуживает сервера, автоматизирует тесты и процесс сборки приложения.
Examples of customer service quality assurance programs
Today, most customer service teams have already implemented quality assurance or simple ticket review processes to maintain their support quality. If you’re not sure how to set up your quality program, see how others have done it.
Here are a few examples of industry leaders with outstanding quality programs:
- Automattic, a famously remote team that delivers a CSAT of 95% and more, conducts regular peer reviews on Klaus.
- PandaDoc reviews random samples of agent conversations and all tickets for new agents during their onboarding program.
- Wistia conducts regular peer reviews in groups of three to include a third-party facilitator in all feedback sessions.
- Dreem pushed their CSAT from 80% to 90% since they’ve started doing regular conversation reviews on Klaus.
- Geckoboard uses agent feedback to increase proactive help to drive product engagement and upsells.
- Education Perfect cut their support QA time in half by switching from spreadsheets to Klaus.
All companies have unique quality programs based on their internal standards and goals. Different teams prefer different types of reviews: some hire QA specialists, others use manager, peer, or self-reviews. There is no right or wrong way. Instead, choose the format that suits you best.
Make sure to pay extra attention when building a scorecard for your team. This will be the most important part of your QA program because all reviewers will base their work on this rubric. Keep it simple (but also measurable and trackable).
Где и как учиться на тестировщика
Расскажу на примере своей работы. Я обучаю тестировщиков в IT-Academy. Наш курс длится 9 недель или 27 занятий. За это вермя можно получить базовую подготовку, достаточную для начала работы в качестве тестировщика. Но это очень интенсивный курс.
Для освоения азов профессии не нужно знать языки программирования, но новичок должен освоить обширную теорию. Далеко не всем это легко даётся. По большому счёту, за пару месяцев студенту надо пройти ужатый курс университетского обучения.
В тестировщики приходят люди из самых разных профессий, и кроме теоретических знаний в обязательный скилл-сет должны входить усидчивость и внимательность к деталям.
В моём понимании профессиональный портрет крепкого функционального тестировщика достаточно прост. Это человек с опытом в профессии от одного года, который хорошо знает теорию тестирования и умеет работать с основными техническими документами.
На рынке можно найти множество курсов: очных и дистанционных, платных и бесплатных.
Во многих крупных ИТ-компаниях есть внутренние (как правило, бесплатные) курсы по тестированию. Однозначно нужно пробовать попасть туда, особенно если хотите работать в компании-организаторе таких курсов. Минус подобного околокорпоративного обучения — оно часто бывает узконаправленным и не совсем подходят по своему содержанию средним требованиям рынка. Платные курсы, коих великое множество, чаще дают более широкую программу подготовки.
Какие вопросы чаще всего задают на собеседовании на данную позицию? Чего в iTechArt ждут от Manual QA Engineer, чтобы сделать job-offer?
В первую очередь, будьте готовы, что у вас спросят обо всем, что вы указали в резюме. Поэтому стоит указывать те скилы и технологии, которыми вы действительно владеете. От специалиста без опыта ожидается четкое усвоение теории по темам, преподаваемым на курсах (обязанности тестировщика, тестирование требований, техники тест-дизайна, тестовая документация, баг репорты и т.д.).
Кроме этого мы ожидаем, что кандидаты будут владеть профессиональной технической терминологией и, соответственно, разбираться хотя бы на уровне теории в основных технических вопросах (клиент-серверная архитектура, базы данных, API)
Не стоит также недооценивать важность владения английским языком, так как это основной язык, на котором общаются заказчики нашей компании. К сожалению, даже при наличии достаточного технического бэкграунда вы не сможете работать на проекте и при этом быть отрезанным в плане коммуникации
И заключительное в моем списке, но не последнее по важности – в iTechArt сделают оффер тем соискателям, которые показывают высокий уровень мотивации и заинтересованности как в самой профессии, так и в нашей компании. Горящие глаза будущих remarkable people очень вдохновляют
Test Maturity Model (TMM):
This model assesses the maturity of processes in a Testing Environment. Even this model has 5 levels, defined below-
- Level 1 – Initial: There is no quality standard followed for testing processes and only ad-hoc methods are used at this level
- Level 2 – Definition: Defined process. Preparation of test strategy, plans, test cases are done.
- Level 3 – Integration: Testing is carried out throughout the software development lifecycle (SDLC) – which is nothing but integration with the development activities, E.g., V- Model.
- Level 4 – Management and Measurement: Review of requirements and designs takes place at this level and criteria has been set for each level of testing
- Level 5 – Optimization: Many preventive techniques are used for testing processes, and tool support(Automation) is used to improve the testing standards and processes.
💁♀️ Чем занимается QA-тестировщик
В основе деятельности данного специалиста лежит всесторонняя проверка программных продуктов и предоставление собственных рекомендаций по их совершенствованию еще на этапе проектирования. Хороший QA-тестировщик всегда имеет представление о реальном состоянии продукта, информируя об этом других участников команды, работающей над проектом. Осуществление проверки программ предусматривает комплексную деятельность, включающую в себя следующие составные компоненты:
- определение частей, нуждающихся в тестировании, прогнозирование пользовательских ожиданий;
- создание тестовых программ проверки продукта, составление графика проведения проверочной работы;
- создание тестовой кодировки для программного продукта, подвергаемого проверке;
- непосредственно тестирование продукта на предмет наличия багов со стороны пользователей;
- тестирование программы на предмет обеспечения необходимого уровня безопасности;
- подведение результатов тестирования, его повторное проведение в случае необходимости;
- утверждение параметров качества;
- формирование плана мероприятий, обеспечивающего поддержание должного качества на каждом из этапов создания программы;
- определение причин, вызвавших появление ошибок и реализация действий, направленных на их недопущение в будущем;
- формирование отчетности о проведенной работе, выявленных багах и предпринятых действиях.
При этом для QA-тестирования существует три стадии, различающиеся между собой уровнем доступа специалиста к исходному коду программы. Принято выделить:
- Стратегия «белого ящика». Предусматривает наличие доступа к коду, знание внутренней структуры и возможность разделения программы на отдельные модули, каждый из которых будет тестироваться отдельно. В результате проводимое тестирование носит модульный характер.
- Стратегия «черного ящика». Предполагает тестирование без доступа к коду программы, что позволяет провести проверку только внешней стороны продукта, и позволяет определить показатели производительности системы, работоспособность заявленного функционала и используемого кода.
- Стратегия «серого ящика». Предусматривает частичный доступ QA-тестировщика к коду. Несмотря на наличие определенных структурных данных о продукте, тестирование ведется с потребительской стороны. При этом кодировка тестирования задается на основе данных об используемом в программе алгоритме работы.
В целом в процессе тестирования требуется максимально внимательно относиться к деталям, а также оперативно переключаться между различными задачами, возникающими в процессе выполнения работы.