Психология программирования

Тестирование программ

Программирование – конструктивный процесс, требует высокой квалификации, неточность (оптимистичность).

Тестирование – деструктивный процесс, низкая квалификация, дотошность (пессимистичность).

Для чего нужно тестирование:

- повышает качество продукта (Þ его стоимость)

- тестирование – процесс исполнения с целью нахождения ошибок

Хороший тест – с большой вероятностью находит ошибку.

Как тестировать:

- тестирование не должно проводиться авторами исходных текстов

- должна быть конкуренция между программистами и тестировщиками (писать с минимальным числом ошибок, тестировать с начала работ)

- bug festival

- должно проверяться и ошибочное поведение (сообщения об ошибках должны быть осмысленными)

- вероятность ошибки пропорциональна числу уже найденных ошибок

- всегда чётко должен быть оговорен конечный результат

- тестов столько, чтобы пройти по каждой ветке алг. хотя бы 1 раз

- библиотека разработи, тестирования, предъявления

- статистику ошибок и кто их нашел

Обычно малые фрагменты программы содержат большое количество ошибок.

Виды тестирования:

- чёрный ящик (без просмотра исходного текста)

- белый ящик

test-coverage – покрытие тестами возможных вариантов.

- модульное тестирование

- комплексное тестирование

- получасовое тестирование

- маленький тест

Quality assurance (оценка качества)

Отдельная группа, которой запрещено заниматься разработкой, общаться с разработчиками.

QA:

- эргономика

- по документации выполнить установку

- тестирование

- эффективность (время запуска, скорость работы)

QA должна быть как придирчивый пользователь.

Developers – (программа) – QA – (программный продукт) – users

Если QA нашла ошибки, страдают разработчики.

Если недовольны пользователи, страдает QA.

 


Пирамида Маслова:

Лидер. Человек, который стремится управлять другими людьми, проектами, для которого нестерпимо быть просто «винтиком» в сложном механизме. Из лидеров выходят политические деятели, менеджеры разного уровня, для них прежде всего важен личный успех.

Технарь. Человек, который получает настоящее удовольствие от самого процесса поиска решения, например, программирования, которому по большому счету наплевать, что есть начальники и подчиненные, что о нем не пишут газеты и т.д. Решить задачу – это главное.

Общительный. Эти люди разносят информацию, популяризуют результаты других людей. Психологи говорят, что 60% женщин относятся именно к этой категории.