lankastersky: (Default)
[personal profile] lankastersky
Когда-нибудь ДНК будет взломана (как пишут, например, тут), генная инженерия и биоинформатика позволят программировать нужные гены животных как им хочется. Ученые всего мира активно бьются над реверс-инжинирингом, пытаясь понять, за что ответственна та или иная часть ДНК, и скоро у них получится. Как понять, что при программировании одного гена остальные функции продолжают работать нормально? Давайте подойдем к этому с точки зрения разработки программ.

1 Создаем копию исходного кода - клонируем живое существо (допустим, это можно сделать быстро).

2 Вносим изменение в код и проверяем, собирается ли он - вносим изменения в геном и смотрим, жив ли еще пациент.

3 Если билд собрался, запускаем и проверяем, работает ли нужная функция и делаем смок-тест, проверку выполнения базовых функций - существо машет руками и ногами, ок.

4 Запускаем юнит-тесты, проверяющие работоспособность продукта без его полного "включения", имитируя внешнюю среду. Существо лежит неподвижно, мы имитируем изменение обстановки (влажность, осещенность и т.п.) и проверяем, адекватны ли реакции (берем анализы или визуально оцениваем).
Если какой-то тест завалился, ищем, как наши изменения в коде привели к этому, исправляем и повторяем заново.

5 Помимо юнит-тестирования, после крупных изменений надо проводить функциональное - проверка работы программы в боевом режиме. Заставляем существо проснуться и подвигаться. Часто бывает, что по отдельности все работает, а как встал и пошел, так вдруг хромать начал, будто запутался в веревке или выстрелил себе в ногу.

6 Проводим остальные виды тестирования. Стресстестирование под нагрузками - проверяем у организма выносливость, максимальную силу, реакцию.
UI-тестирование - смотрим, все ли ок с внешним видом существа - не посинело ли, не оттопырились ли уши.
Тестирование безопасности - не стало ли существо уязвимо для вирусов, для болезней.
Интеграционное тестирование - проверяем взаимодействие с внешним миром и другими системами, может ли работоть ложкой, жевать еду и т.п.

7 Если все тесты прошли и все довольны - выпускаем в продакшн, собираем отзывы. Существо отпускаем на волю в реальный мир и любуемся своим творением. Вскоре должны полезть баги. Они бывают критичные (существо сдохло), тогда это фейл; или некритичные (существо зависает перед зеркалом) - это можно пофиксать в следующей версии или выпустить патч с набором таблеток, которые каждый может накатить сам.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Profile

lankastersky: (Default)
lankastersky

January 2021

S M T W T F S
      12
3456789
10111213141516
171819 20212223
24252627282930
31      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 26th, 2026 01:47 pm
Powered by Dreamwidth Studios