white box magic
TRANSCRIPT
![Page 1: White box magic](https://reader036.vdocuments.site/reader036/viewer/2022062401/58cea3541a28abb26e8b59b9/html5/thumbnails/1.jpg)
White box magic
Aliaksei BooleSoftware engineer in test
![Page 2: White box magic](https://reader036.vdocuments.site/reader036/viewer/2022062401/58cea3541a28abb26e8b59b9/html5/thumbnails/2.jpg)
О докладчике
![Page 3: White box magic](https://reader036.vdocuments.site/reader036/viewer/2022062401/58cea3541a28abb26e8b59b9/html5/thumbnails/3.jpg)
Немного о том как мы
тестируем
![Page 4: White box magic](https://reader036.vdocuments.site/reader036/viewer/2022062401/58cea3541a28abb26e8b59b9/html5/thumbnails/4.jpg)
У нас микросервисная архитектура
NATSBUS
MS 1
MS 2
MS 3
MS N
...Gateway
http
messages
![Page 5: White box magic](https://reader036.vdocuments.site/reader036/viewer/2022062401/58cea3541a28abb26e8b59b9/html5/thumbnails/5.jpg)
Каждый микросервис тестируется в изоляции
NATSBUS MS 1
MSMOCK
Tests
DB
![Page 6: White box magic](https://reader036.vdocuments.site/reader036/viewer/2022062401/58cea3541a28abb26e8b59b9/html5/thumbnails/6.jpg)
Почему мы стали читать код?
Мы говорим с разработчиками на одном языке
Мы можем повлиять на код ещё в процессе ревью
Мы помогаем написать юнит тесты
Мы приходим с решениями, а не с проблемами
Мы можем многое!
Код является источником правды для нас
Мы это можем
Микросервисы небольшие
![Page 7: White box magic](https://reader036.vdocuments.site/reader036/viewer/2022062401/58cea3541a28abb26e8b59b9/html5/thumbnails/7.jpg)
Мы можем многое!
JUNO-2017
![Page 8: White box magic](https://reader036.vdocuments.site/reader036/viewer/2022062401/58cea3541a28abb26e8b59b9/html5/thumbnails/8.jpg)
Проблемы белого ящика
Определение
Непонимание
Методы
![Page 9: White box magic](https://reader036.vdocuments.site/reader036/viewer/2022062401/58cea3541a28abb26e8b59b9/html5/thumbnails/9.jpg)
Определение
![Page 10: White box magic](https://reader036.vdocuments.site/reader036/viewer/2022062401/58cea3541a28abb26e8b59b9/html5/thumbnails/10.jpg)
Определение из википедии
Тестирование по стратегии белого ящика — тестирование кода на предмет логики работы программы и корректности её работы с точки зрения компилятора того языка, на котором она писалась.
Но это не точно. [источник не указан 613 дней]
![Page 11: White box magic](https://reader036.vdocuments.site/reader036/viewer/2022062401/58cea3541a28abb26e8b59b9/html5/thumbnails/11.jpg)
Вариант, который мне нравится
Тестирование по стратегии белого ящика — это любые действия с целью улучшения качества продукта, которые основываются на понимании внутреннего устройства тестируемой системы.
![Page 12: White box magic](https://reader036.vdocuments.site/reader036/viewer/2022062401/58cea3541a28abb26e8b59b9/html5/thumbnails/12.jpg)
Непонимание
![Page 13: White box magic](https://reader036.vdocuments.site/reader036/viewer/2022062401/58cea3541a28abb26e8b59b9/html5/thumbnails/13.jpg)
QA инженерыvs
??????
![Page 14: White box magic](https://reader036.vdocuments.site/reader036/viewer/2022062401/58cea3541a28abb26e8b59b9/html5/thumbnails/14.jpg)
Какие можно придумать
тесты?
![Page 15: White box magic](https://reader036.vdocuments.site/reader036/viewer/2022062401/58cea3541a28abb26e8b59b9/html5/thumbnails/15.jpg)
Увы, но баг не был найден
Любое арифметическое действие с числом
6,02вызывает критическую ошибку.
Число Авогадро: 6,02·1023
Калькулятор:
![Page 16: White box magic](https://reader036.vdocuments.site/reader036/viewer/2022062401/58cea3541a28abb26e8b59b9/html5/thumbnails/16.jpg)
Без знаний о принципах работы системы нельзя
составить классы эквивалентности!
![Page 17: White box magic](https://reader036.vdocuments.site/reader036/viewer/2022062401/58cea3541a28abb26e8b59b9/html5/thumbnails/17.jpg)
Методы
![Page 18: White box magic](https://reader036.vdocuments.site/reader036/viewer/2022062401/58cea3541a28abb26e8b59b9/html5/thumbnails/18.jpg)
Что вы видите?
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.
![Page 19: White box magic](https://reader036.vdocuments.site/reader036/viewer/2022062401/58cea3541a28abb26e8b59b9/html5/thumbnails/19.jpg)
Это код программы на языке FIM++
![Page 20: White box magic](https://reader036.vdocuments.site/reader036/viewer/2022062401/58cea3541a28abb26e8b59b9/html5/thumbnails/20.jpg)
Любую программу можно представить в виде потоков
данных !
![Page 21: White box magic](https://reader036.vdocuments.site/reader036/viewer/2022062401/58cea3541a28abb26e8b59b9/html5/thumbnails/21.jpg)
Поток данных
IN
OUT
![Page 22: White box magic](https://reader036.vdocuments.site/reader036/viewer/2022062401/58cea3541a28abb26e8b59b9/html5/thumbnails/22.jpg)
Соединение потоков
IN
OUT
CFG
![Page 23: White box magic](https://reader036.vdocuments.site/reader036/viewer/2022062401/58cea3541a28abb26e8b59b9/html5/thumbnails/23.jpg)
Порождениепотоков
IN
OUT OUT
![Page 24: White box magic](https://reader036.vdocuments.site/reader036/viewer/2022062401/58cea3541a28abb26e8b59b9/html5/thumbnails/24.jpg)
Разветвление потока
IN
OUT OUT
CFG
![Page 25: White box magic](https://reader036.vdocuments.site/reader036/viewer/2022062401/58cea3541a28abb26e8b59b9/html5/thumbnails/25.jpg)
Операция над потоком
IN
OUT
* 2
![Page 26: White box magic](https://reader036.vdocuments.site/reader036/viewer/2022062401/58cea3541a28abb26e8b59b9/html5/thumbnails/26.jpg)
Изменение среды
IN OUT
DB
![Page 27: White box magic](https://reader036.vdocuments.site/reader036/viewer/2022062401/58cea3541a28abb26e8b59b9/html5/thumbnails/27.jpg)
Слияние данных
IN OUT
DB
CFG
![Page 28: White box magic](https://reader036.vdocuments.site/reader036/viewer/2022062401/58cea3541a28abb26e8b59b9/html5/thumbnails/28.jpg)
Выводы
![Page 29: White box magic](https://reader036.vdocuments.site/reader036/viewer/2022062401/58cea3541a28abb26e8b59b9/html5/thumbnails/29.jpg)
ВыводыАбстрактное мышление основа всего
Увы, но и это не панацея
Если вы пишете код, то вы можете его и читать
Белый ящик недооцененный инструмент
![Page 30: White box magic](https://reader036.vdocuments.site/reader036/viewer/2022062401/58cea3541a28abb26e8b59b9/html5/thumbnails/30.jpg)
Послесловие
![Page 31: White box magic](https://reader036.vdocuments.site/reader036/viewer/2022062401/58cea3541a28abb26e8b59b9/html5/thumbnails/31.jpg)
Контакты
Алексей Буль (Aliaksei Boole)[email protected] skype: v1_wizardhttp://www.electrictower.ru
Twitter:@Alex_Koul
Спасибо =)