White box magic

Post on 12-Apr-2017

107 views 0 download

Transcript of White box magic

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)aliaksei.boole@gmail.com skype: v1_wizardhttp://www.electrictower.ru

Twitter:@Alex_Koul

Спасибо =)