Прошедшей осенью поговорил со студентами кишинёвского политеха про тестирование ПО.
Доклад я зачитал на полагающемся нам всем румынском языке. Ох, ніколи знову! Штирлиц таки ощущает десятилетие размышлений сугубо на русском и очень быстро задрался запинаться про тестирование на родном, увы мне.
Я же не зачитываю доклады по-бумажке, я их «думаю» в момент разговора. В такие моменты во мне кагбэ работают две дорожки воспроизведения, где на одну постоянно в фоне записывается мысля, которую нужно оформить, а с другой эту мыслю постоянно выводят в эфир. Это такой тип мышления, у него даже есть какое-то научное название. Можно предварительно и тщательно продумать и упорядочить всё содержимое доклада, но когда дан старт, вся предварительная подготовка идёт к чёрту, в момент доклада я полностью погружён в мысли и не знаю точно, что именно скажу дальше. Слова готовит и выдаёт моё подсознание, а я слушаю то, что озвучиваю и на ходу это всё как-то куда-то корректирую. Реально, в такие моменты моё сознание существует сразу на два потока.
Поэтому мне пришлось думать на русском, переводить обдуманное на румынский, на лету редактировать ту дрянь, которая получилась после этого немощного гуглайвтранслейта, затем выдавать в эфир то, что осталось, стараясь осознавать, прозвучало ли то, что я перед этим думал, и надо ли поискать другие слова и стараться при этом подавить явный молдаванский говор, бо он, роднуля, неотключаемый. Поневоле поверх этого полезли все английские и даже позабытые французские слова, которые пришлось отсекать, на что потребовалось дополнительное процессорное время.
Ресурсы мозга завыли кулерами (которых, как известно, нет) и я смотрелся как начинающий докладчик, который раздражающе часто запинается и делает долгие паузы перед тем как произнести очевидно единственно нужные слова. Стресс, конечно, тройной.
Но первый же слушатель задал вопрос на русском языке, «пирамида дрогнула, юноша покачнулся», ваше билингвистическое сиятельство переключилось на русский язык, язык мой, наконец-то, освободился и беседа пошла живо, а изложение мигом выправилось.
0:00 Про позитивные и негативные тесты
02:29 Как разобраться с black box
04:08 В чём смысл тестирования
05:13 Что такое «интеграционное» и всякое другое тестирование
07:02 Тестирование — сервис, который «приносит вопросы на ответы»
07:50 Должен ли тестировщик давать рекомендации о том, как делать ПО?
09:47 Что такое «требования»
10:14 Что такое «анализировать»
И, к слову — зря вы, батеньки, называете молодёжь тупыми тиктокерами. Просто вы их учить не умеете.
А действительно, чего это мне кажется, что разница между верификацией и валидацией всем понятна без примера?
Нужен конкретный пример. А то без примера каждому… парню кажется, что его принимают за идиота.
Например, здравствуйте, дети, вот это револьвер Смит и Вессон. Им можно решать разные задачи на поле боя. А ещё из него программист может выстрелить себе в ногу несколько раз. Сейчас я вам это покажу на конкретном примере. Ну, чья нога послужит хорошим, конкретным примером? Кто из вас знает C++?
Если пример непонятный — нет, ты не идиот, просто давным-давно, в другом мире…
Глава первая, вступательная в зыбкое болото терминов
Верификация — проверка соответствия приложения прописанным требованиям.
Валидация — проверка соответствия приложения всем остальным (подразумеваемым) требованиям.
Ну, и чо?
Когда я только выполнял чужие кейсы, это всё было ненужным и абстрактным лайном.
Когда я сам проектировал тесты, да ещё и для какой-то финансовой аппликухи — приходилось знать/понимать точно, какие тесты покрывают прописанные требования (верификационные), а какие тесты покрывают НЕпрописанные требования (валидационные) и соответственно их разделять по разным сборникам тестов. И это всё стало осязаемым и важным.
(далее…)