Хороший тестировщик должен уметь всё! (конечно :))
Самое главное, что могут упустить начинающие и вкатывающиеся - тестировщик общается. Много, обильно, с разрабами, с заказчиками, с аналитиками, с другими тестировщиками, с менеджером, с небом и Аллахом и всеми прочими.
Вообще набор тестировщика может выглядеть примерно так:
1. Теория тестирования (виды, тест-дизайн и все такое)
2. Автоматизация (ЯП + всякие фреймфорки и либы, самые популярные: Selenium, Appium, TestNG, jUnit, Rest Assured)
3. REST API ( виды запросов, коды состояний + Postman, ну и cURL понимать, что он есть)
4. SQL
5. Снифферы (Fiddler, Charles).
6. DevTools браузеров (как правило, хром) на очень хорошем уровне.
7. Для мобилок - adb маст хэв плюс эмуляторы.
8. Неплохо иметь представление, что есть Jmeter и тестирование производительности в целом.
9. Базовые знания о сетевых протоколах.