white box magic

31
White box magic Aliaksei Boole Software engineer in test

Upload: aliakseiboole

Post on 12-Apr-2017

109 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: White box magic

White box magic

Aliaksei BooleSoftware engineer in test

Page 2: White box magic

О докладчике

Page 3: White box magic

Немного о том как мы

тестируем

Page 4: White box magic

У нас микросервисная архитектура

NATSBUS

MS 1

MS 2

MS 3

MS N

...Gateway

http

messages

Page 5: White box magic

Каждый микросервис тестируется в изоляции

NATSBUS MS 1

MSMOCK

Tests

DB

Page 6: White box magic

Почему мы стали читать код?

Мы говорим с разработчиками на одном языке

Мы можем повлиять на код ещё в процессе ревью

Мы помогаем написать юнит тесты

Мы приходим с решениями, а не с проблемами

Мы можем многое!

Код является источником правды для нас

Мы это можем

Микросервисы небольшие

Page 7: White box magic

Мы можем многое!

JUNO-2017

Page 8: White box magic

Проблемы белого ящика

Определение

Непонимание

Методы

Page 9: White box magic

Определение

Page 10: White box magic

Определение из википедии

Тестирование по стратегии белого ящика — тестирование кода на предмет логики работы программы и корректности её работы с точки зрения компилятора того языка, на котором она писалась.

Но это не точно. [источник не указан 613 дней]

Page 11: White box magic

Вариант, который мне нравится

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

Page 12: White box magic

Непонимание

Page 13: White box magic

QA инженерыvs

??????

Page 14: White box magic

Какие можно придумать

тесты?

Page 15: White box magic

Увы, но баг не был найден

Любое арифметическое действие с числом

6,02вызывает критическую ошибку.

Число Авогадро: 6,02·1023

Калькулятор:

Page 16: White box magic

Без знаний о принципах работы системы нельзя

составить классы эквивалентности!

Page 17: White box magic

Методы

Page 18: White box magic

Что вы видите?

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

Это код программы на языке FIM++

Page 20: White box magic

Любую программу можно представить в виде потоков

данных !

Page 21: White box magic

Поток данных

IN

OUT

Page 22: White box magic

Соединение потоков

IN

OUT

CFG

Page 23: White box magic

Порождениепотоков

IN

OUT OUT

Page 24: White box magic

Разветвление потока

IN

OUT OUT

CFG

Page 25: White box magic

Операция над потоком

IN

OUT

* 2

Page 26: White box magic

Изменение среды

IN OUT

DB

Page 27: White box magic

Слияние данных

IN OUT

DB

CFG

Page 28: White box magic

Выводы

Page 29: White box magic

ВыводыАбстрактное мышление основа всего

Увы, но и это не панацея

Если вы пишете код, то вы можете его и читать

Белый ящик недооцененный инструмент

Page 30: White box magic

Послесловие

Page 31: White box magic

Контакты

Алексей Буль (Aliaksei Boole)[email protected] skype: v1_wizardhttp://www.electrictower.ru

Twitter:@Alex_Koul

Спасибо =)