str = 'Quoliti Ashurenes'

def test_str_correct():
assert len(str) == 17
assert str.count('s') == 2
wrds = str.split()
assert wrds[0][0]+wrds[1][0] == 'QA'
print('PASS\n')


И ведь тесты пройдут! Но что-то тут не так... Давайте разбираться.
Начну с моего любимого анекдота про тестирование. Англоязычную версию считаю первоисточником, поэтому привожу так:

A QA engineer walks into a bar.
Orders a beer.
Orders 0 beers.
Orders 99999999999 beers.
Orders a lizard.
Orders -1 beers.
Orders a ueicbksjdhd.
First real customer walks in and asks where the bathroom is.
The bar bursts into flames, killing everyone.

(Фьюить-ха!)
Так вот.
Есть тестировщики, которые вручную тестируют сервис по тесткейсам. Иногда - без тесткейсов, т.н. исследовательское тестирование.
Есть тестировщики, которые запускают автотесты и интерпретируют результаты. Или сами пишут автотесты, почему бы и нет.
И все они - молодцы и умнички, если того требует конъюнктура момента, команда, продукт, должностные инструкции.

Но есть еще QA-инженеры. Это уже немного другая лига. Что отличает хорошего куа-инженера?
- ориентируется в своем продукте как рыба в воде и точно знает, как продукт должен себя вести, и почему так;
- формирует тест-кейсы, притом на раннем этапе проектирования фичи (подход 3-амиго ftw!);
- участвует в поддержке продукта (л3-л4), чтобы хорошо понимать потребности пользователей;
- знает, что и как нужно проверить, чтобы на самом деле убедиться, что продукт работает как надо (а не как в примерах выше);
- умеет подбирать оптимальный метод проверки в соответствии с пирамидой тестирования (юниты, авто, интеграционные, е2е, ui-тесты);
- заинтересованно участвует в максимальной автоматизации процесса, но понимает ее границы применимости.

Еще важно понимать, что QA - quality assurance - это не всегда должность. Это, скорее, роль. И примерять эту роль на себя должен отнюдь не только тестировщик - хочется, чтобы все участники процесса, включая разработчиков, тимлида и продакта, тоже были немного QA. Потому что только совместными усилиями можно ашшурить ту самую кволити, а мы, в конце концов, одно дело делаем.

Но если и есть выделенные люди на задачи QA - они должны не просто тестировать, а двигать команду, продукт и процессы в сторону обеспечения качества. Что бы это ни значило (а значит оно в разных командах разное). Даже если для этого придется внедрять ИИ. Всем кволити!