В чём заключается работа тестировщика читать ~4 мин.
Работа тестировщика заключается в проверке программы или документации на их соответствие спецификации. Тестировщик не занимается исправлением ошибок, он смотрит на то, как ошибки в коде влияют на функционирование программы и не мешают ли они пользователям работать с программой.
Процесс разработки программы
Разработка программы, будь то приложение для бизнеса или компьютерная игра, – сложный многоуровневый процесс, который осуществляют десятки и сотни сотрудников работающие в одной компании. Разработка включает в себя следующие этапы:
- разработка концепции,
- создание спецификации, инструкций,
- проверка(тестирование) спецификации на соответствие стандартам,
- разработка интерфейса,
- создание дизайна, графической оболочки программы,
- написания кода,
- тестирование программы на наличие/отсутствие ошибок,
- размещение в продажу или передачи заказчику.
Как видно, сразу после итогового тестирования программный продукт попадает к конечному потребителю. Если товар окажется низкокачественным, не ориентированным на пользователя, с кучей багов и недочётов, то все труды, все деньги и время, затраченные в процессе его создания пойдут прахом. Именно поэтому работа тестировщика столь ответственна, т.к. он отвечает за результат работы в целом.
Ошибки при проектировании и разработке могут возникнуть на любом этапе. Особенно много ошибок допускается на этапе подготовки спецификации продукта. Спецификация – это документ, в котором прописано, что за ПО будет разрабатываться, какие у него свойства и предназначение, что в программе должно быть и каким образом выполняться. Основная задача тестировщика – это выявить ключевые ошибки и указать разработчику на них, чтобы тот исправил.
Как работает тестировщик
Работу тестировщика можно разбить на следующие этапы:
- Изучение спецификации, определение требований, предъявляемых к разработанному ПО.
- Тестирование может быть ручное и автоматическое с применением программ вроде Jenkins, Postman и т.д.
- Написание технического отчёта(анкеты) о проделанной работе и выявленных ошибках и недочетах.
- Передача отчёта руководителю проекта или программисту, для внесения исправлений.
После того как программист и(или) другие участники проекта исправят ошибки и недочёты, и если продукт наконец-то соответствует спецификации, то тестировщик подписывает акт размещения продукта в продажу.
Что такое ручное и автоматическое тестирование, какая между ними разница
Ручное тестирование – это когда все ссылки, все действия, которые может потенциально совершить обычный пользователь, совершает тестировщик и смотрит, работает или нет, а если работает, то корректно или нет. Это когда тестировщик вручную проверяет код на наличие логических и семантических ошибок. Программист может забыть добавить ссылку или неправильно напечатать текст. В итоге пользователь не будет понимать что и как ему надо делать.
Автоматическое тестирование – это проверка работоспособности приложения и его возможностей выдерживать нагрузку, обеспечения связи компонентов и т.д. Например, проверка способности сервера выдержать большую нагрузку при большом единовременном количестве запросов со стороны клиентов. Клиентов может быть несколько, могут быть тысячи. Проверить работоспособность программы при максимальной нагрузке можно только при помощи специальных тестов.
Какими навыками должен обладать тестировщик
Тестировщик должен иметь определённые знания и навыки работы со специализированным ПО, независимо от того является он по уровню квалификации джуниором, мидл или сеньором.
- знание высокоуровневых языков программирования Java, Python, C#;
- знание теории алгоритмов и их анализа;
- умение работать с базами данным;
- знание SQL;
- умение работать с unit-тестами и другими инструментами тестирования;
- умение работать с технической литературой и участие в профильных сообществах.
- знание того, как работает интернет, передача данных и их обработка на сервере;
- знание английского, чтобы свободно читать документацию к программам и составлять свою.
Тестировщик должен обладать усидчивостью, терпением, вниманием к деталям, здоровым перфекционизмом, стрессоустойчивостью и быть неконфликтным человеком, но при этом уметь настоять на своём. Программисты, как и большинство людей, не особенно бывают в восторге от того, что им приходится переделывать свою работу, переписывать код, искать пути исправления ошибок, к тому же любой проект имеет ограничение по времени. Опоздали с релизом – клиент ушёл к конкуренту или на рынке уже заняли другие компании. Тестировщик должен трезво оценивать временные ограничения и стараться выявить не просто как можно больше ошибок, а именно такие, которые серьёзно влияют на работу приложения.
Перспективы профессии, есть ли смысл учиться?
Рынок компьютерных приложений, игр, веб-сайтов будет и дальше развиваться. Растёт конкуренция среди фирм, производящих программные продукты. Быстрорастущий уровень конкуренции (в одном только ApStore свыше 3 млн. приложений!) ведёт к тому, что производители будут больше обращать внимание на качество выпускаемого продукта, тем более что скорость, с которой пользователи меняют некорректно работающее ПО на работающее, выросла в разы. Поэтому тестировщики будут востребованы и смогут неплохо зарабатывать в будущем. Есть смысл инвестировать в себя и осваивать эту профессию.