White box magic
Aliaksei BooleSoftware engineer in test
О докладчике
Немного о том как мы
тестируем
У нас микросервисная архитектура
NATSBUS
MS 1
MS 2
MS 3
MS N
...Gateway
http
messages
Каждый микросервис тестируется в изоляции
NATSBUS MS 1
MSMOCK
Tests
DB
Почему мы стали читать код?
Мы говорим с разработчиками на одном языке
Мы можем повлиять на код ещё в процессе ревью
Мы помогаем написать юнит тесты
Мы приходим с решениями, а не с проблемами
Мы можем многое!
Код является источником правды для нас
Мы это можем
Микросервисы небольшие
Мы можем многое!
JUNO-2017
Проблемы белого ящика
Определение
Непонимание
Методы
Определение
Определение из википедии
Тестирование по стратегии белого ящика — тестирование кода на предмет логики работы программы и корректности её работы с точки зрения компилятора того языка, на котором она писалась.
Но это не точно. [источник не указан 613 дней]
Вариант, который мне нравится
Тестирование по стратегии белого ящика — это любые действия с целью улучшения качества продукта, которые основываются на понимании внутреннего устройства тестируемой системы.
Непонимание
QA инженерыvs
??????
Какие можно придумать
тесты?
Увы, но баг не был найден
Любое арифметическое действие с числом
6,02вызывает критическую ошибку.
Число Авогадро: 6,02·1023
Калькулятор:
Без знаний о принципах работы системы нельзя
составить классы эквивалентности!
Методы
Что вы видите?
Dear Princess Celestia: Bubble sorting is magic!Today I learned some code magic.Did you know that My Spells is a numbers? On the 1 page of the book “My Spells” I wrote 4. On the 1 page of the book “My Spells” I wrote 6. On the 1 page of the book “My Spells” I wrote 3. Did you know that bookpages is a number 3?I learned swapping two pages using Spell book using first page number using second page number. Did you know that temporary note likes number? On the first page of the book “Spell” I read about temporary note. On the first page of the book “Spell” I wrote I knew about on the second page of the book “Spell” I read about. On the second page of the book “Spell” I wrote I knew about temporary note. That’s all about swapping two pages!I learned spell sorting using Spell book using bookpages. Did you know that counter is a number 1? Here’s what I did while bookpages greater than 1: as long as counter no more than bookpages subtract 1, when on the counter page of the book “Spell” I read about more than on the counter and 1 page of the book “Spell” I read about, swapping two pages using Spell using bookpages – that’s what I would do; counter likes number the 1 added to counter. That’s what I did, bookpages is the bookpages subtract 1, that’s what I did. Then you get the Spell! That’s all about spell sorting!Spell sorting using My Spells using bookpages.Your faithful student, Orhideous.
Это код программы на языке FIM++
Любую программу можно представить в виде потоков
данных !
Поток данных
IN
OUT
Соединение потоков
IN
OUT
CFG
Порождениепотоков
IN
OUT OUT
Разветвление потока
IN
OUT OUT
CFG
Операция над потоком
IN
OUT
* 2
Изменение среды
IN OUT
DB
Слияние данных
IN OUT
DB
CFG
Выводы
ВыводыАбстрактное мышление основа всего
Увы, но и это не панацея
Если вы пишете код, то вы можете его и читать
Белый ящик недооцененный инструмент
Послесловие
Контакты
Алексей Буль (Aliaksei Boole)[email protected] skype: v1_wizardhttp://www.electrictower.ru
Twitter:@Alex_Koul
Спасибо =)