воскресенье, 17 января 2021 г.

Unit, API и GUI тесты — чем отличаются

Давайте рассмотрим стандартную пирамиду автоматизации

Если говорить о программе:

  • UI-тесты — честные тесты, «как это делал бы пользователь» (они же GUI, graphical user interface)
  • API-тесты — опускаемся на уровень ниже, выкидывая лишнее.
  • Unit-тесты — тесты на отдельную функцию

Начинаем писать тесты снизу, потому что сначала логичнее проверить небольшой участок кода, а потом усложнять:

  • Unit — тесты на отдельную мелкую функцию (посчитать одну ячейку отчета)
  • API — тесты на конкретный функционал, который состоит из отдельных функций (загрузить весь отчет)
  • GUI — честный тест через графический интерфейс, «как это делал бы пользователь» (открыть браузер, войти в систему, перейти в отчеты, и наконец вызвать отчет).

В качестве аналогии давайте рассмотрим создание платья. Вот я заказала себе платье по фигуре. Мастер выслушает мои пожелания, снимет мерки, а потом приступит за работу. Сначала он сделает выкройку и раскроит ткань. Если проверять каждую деталь, сравнивая с выкройкой — это будут юнит-тесты.


Что такое транзакция

Транзакция — это набор операций по работе с базой данных (БД), объединенных в одну атомарную пачку.

(Предполагается, что вы знаете, что такое БД. Но чуть позже тут будет ссылка на статью «что это такое»)

Транзакционные базы данных (базы, работающие через транзакции) выполняют требования ACID, которые обеспечивают безопасность данных. В том числе финансовых данных =) Поэтому разработчики их и выбирают.

Я расскажу о том, что такое транзакция. Как ее открыть, и как закрыть. И почему это важно — закрывать транзакцию. И тогда при написании запросов к базе у вас будет осознанное понимание, что происходит там, под капотом, и зачем же нужен этот обязательный коммит после апдейта.



Что такое транзакция


Транзакция — это архив для запросов к базе. Он защищает ваши данные благодаря принципу «всё, или ничего».

Представьте, что вы решили послать другу 10 файликов в мессенджере. Какие есть варианты:
  1. Кинуть каждый файлик отдельно.
  2. Сложить их в архив и отправить архив.
Вроде бы разницы особой нет. Но что, если что-то пойдет не так? Соединение оборвется на середине, сервер уйдет в ребут или просто выдаст ошибку...

В первом случае ваш друг получит 9 файлов, но не получит один.


среда, 13 января 2021 г.

SQLite на практике (курс от Антона Жиянова)


Мой коллега Антон Жиянов сделал курс по практическому применению sql в работе, очень рекомендую — https://antonz.ru/sqlite-course/.

Курс бессрочный, оплатил и делаешь хоть полгода! Ну тут кому как, кого-то мотивирует куча времени, кого-то расхолаживает )))) 

Антон отлично пишет, это можно проверить по его блогу. Прекрасные статьи, написанные просто и понятно! А еще Антон хорошо объясняет, далекие 6 лет назад именно он обучал меня на проекте )))

Так что лично я вписалась, чего и вам советую. Практики много не бывает! Wink ;)


вторник, 12 января 2021 г.

Что такое автоматизация

Автоматизация — это написание автоматических тестов. Допустим, мы тестируем регистрацию на сайте ХХХ (подойдет практически любой сайт). Как мы это делаем?

  1. Открыли браузер
  2. Открыли нужный сайт
  3. Нажали на кнопку «Регистрация»
  4. Ввели тестовые данные
  5. Нажали «Зарегистрироваться»
  6. Убедились, что регистрация успешна — например, что появилась кнопка с личным кабинетом, а внутри ваше имя и емейл.

Эту процедуру надо повторить N раз. Разные имена, пароли, емейлы... Если вы все это делаете сами — это ручное тестирование. Автоматизация — когда это делается автоматически роботом. Один раз написали скрипт, а дальше он сам все проверяет.



Конечно, не все так просто — иначе ручное тестирование было бы не нужно. Робот — довольно тупое существо. Ему что скажешь делать, то он делать и будет. А значит, для того, чтобы попивать кофеек, нужно:

  1. Продумать тесты для автоматизации.
  2. Расписать их по шагам. ОЧЕНЬ подробно. Вот многие не любят тест-кейсы за их очевидность «какую кнопочку нажать», а тут именно так и надо.
  3. Написать скрипт, который будет этот тест выполнять.
  4. Поддерживать автотесты.

Разберемся с каждым пунктом по отдельности в следующих статьях :)

PS — это выдержка из моей книги для начинающих тестировщиков, написана в помощь студентам моей школы для тестировщиков

понедельник, 11 января 2021 г.

Итоги года — 2020 (короновирусного)


С новым годом!

Продолжу свою традицию подводить итоги года. Правда, это фактически агрегация моих постов про 12 недель. И все же. Приятно оглянуться назад и посмотреть, сколько всего ты сделал!

И, конечно, начать строить новые планы Wink ;)

Мои прошлые итоги: 2016, 2017, 2018, 2019.



Результаты кратко


Я все ещё нахожусь в декретном отпуске по уходу за ребенком. То есть сижу дома. Работаю, конечно — курсами занимаюсь, книгу пишу... Но буквально по паре часов в день обычно получается. Плюс-минус. 

Иногда и по 5 часов работаю — парочку с утра, и еще 3 вечером. Но обычно это значит, что я засиживаюсь за полночь, а такое стараюсь делать редко )) А бывает, вообще почти не работаю — то уборка, то ремонт, то заболели...

В этом году еще и короновирус был! Сначала в марте сидели дома месяца полтора. Потом в конце года сами заболели, и снова месяц дома... А еще мы начали ходить в садик, пока на 3 часа, но уже стали болеть. То есть неделю я работаю, неделю мы сидим болеем. Но ничего, подо всё приспособились! И в этом году я многое успела!

Я дописала книгу и написала новую с нуля!

Я закончила курс по автоматизации в постмане и запустила его.

Я сделала большой апдейт в школе для начинающих тестировщиков.

Я сделала операцию, восстановив зрение

А еще я написала много полезных статей для студентов, в том числе на Хабр. Сделала еще больше примеров и кучу других улучшений в своих курсах. И училась сама! Прошла курс по докеру... В общем, резюмируем итоги 4 циклов 12 недель:

  1. Закончила основную книгу, юху-ху! В первом варианте, но все же
  2. Написала вторую книгу с нуля! «Сложные ИТ-термины на простом языке»
  3. Посты из книги, пополняя бесплатный онлайн-вариант —  37 штук ٩(◕‿◕。)۶
  4. Нашла несколько художников в помощь моей Вике
  5. Сделали более 300 картинок к книгам и курсам
  6. Закончила курс по автоматизации в постмане — 3 цикла доделывала и запускала!
  7. Сделала большое обновление в школе для новичков — фактически с нуля перезаписала 2 урока и добавила доп материалов!
  8. Улучшалки по текущим курсам — они небольшие, но набирается прилично! 
    1. Улучшалки по ШНАТ — 114 штук \(〇_o)/
    2. Постман —  53 штуки
    3. Рест —  17 штук
    4. Логи — 5 штук
    5. Локализация — 5 штук
  9. Нашла помощников на курс по автоматизации в постмане! ⊂( ̄▽ ̄)⊃
  10. Нашла помощников на ШНАТ
  11. Пополнила раздел «работы студентов» — 25 штук
  12. Пополнила свой youtube-канал — 29 штук! 
  13. Создала плейлисты на ютубе, под ШНАТ, Folks, REST, API и Postman
  14. Выложила наконец в общий доступ свой магазинчик!
  15. Статьи на Хабр — 7 штук
  16. Testbase — 33 улучшалки
  17. Folks — 11 улучшалок
  18. Users — 3 улучшалки
  19. Прочитала 21 книгу 
  20. Прошла курс по Docker
  21. Инструменты 12 недель — продолжаю вести файлик DONE, это все еще очень круто
  22. Ходила в кино — в том числе в 4дх!
  23. Начали снова играть в настолочки )))
  24. Ездила с Владом в гости к разным друзьям
  25. Ездили на страусиную ферму, устраивали шашлыки
  26. Ездила в СПА, ходила на массаж...
  27. Купила себе пару новых колечек и сережек ^_^
  28. У нас сбежал кот (((
  29. Я сделала операцию, восстановив зрение ٩(◕‿◕。)۶
  30. Переболели короновирусом
  31. Ездила на узи 2 раза
  32. Занимались ремонтом — выбрали строителей, почти закончили черновой + чистовой
  33. Устроили новогоднюю фотосессию!


Результаты подробнее

воскресенье, 10 января 2021 г.

Мои 12 недель в году. Часть 15 (болезненная)


Первый опытвторойтретий45678910111213, 14


Что это за техника

Вы собираетесь с друзьями в группу и ставите себе цели на 12 недель (3 месяца). Это могут быть как рабочие, так и личные задачи. Такие, которые вы вроде как хотите сделать, но вечно откладываете, так как «некогда, потом, щас, вот только мелочевку разгребу и тот пожарчик потушу».

Настало время заняться тем, чем действительно хочется!  Отталкиваясь от глобальных целей, составляете план на неделю. И раз в неделю встречаетесь с группой и обсуждаете, сколько успели, сколько нет. Какой план на следующую неделю. В общем, обычный митинг, только раз в неделю.

Я комбинирую с магией утра.


Результаты кратко

Новогодний цикл — он закончился ровно под новый год. Тютелька в тютельку ))) Так что итоги цикла подвела, теперь буду итоги года собирать)))

В этом цикле мы начали ходить в садик на 3 часа (ГКП, группа кратковременного пребывания). И понеслось — неделю ходим, неделю дома с соплями. А в декабре заболели короновирусом и весь месяц просидели дома!

В общем, «болезненный» получился цикл. И всё же что-то да успела ))) Основные цели были:

— книга: закончить книгу!

— курсы: сделать 1 урок курса по регуляркам

— статья на ХАБР!

Сделала две из трех, но какие! Я наконец-то закончила книгу, ура-ура-ура! И статей на Хабр получилось целых 3! Две из них незапланированные ))) Ох уж это вдохновение )))

А вот новый курс так и не начала. Времени не было, решила сначала «немножечко лекцию в ШНАТ переделать», переделка заняла месяца два ))) Но тоже круто получилось. И тоже плюшка по курсам, просто планы изменились и выбрала другой курс для апгрейда.

Так, а что кроме основных задач? Посмотрим, что я успела за этот цикл:

  1. Закончила книгу, юху-ху!
  2. Сделали ровно 250 новых картинок к ней — активно работаем с художниками
  3. Посты из книги, пополняя бесплатный онлайн-вариант —  8 штук ٩(◕‿◕。)۶
  4. Улучшалки по текущим курсам — они небольшие, но набирается прилично! 
    1. Улучшалки по ШНАТ — 17 штук
    2. Постман (новый курс) — 17 штук
    3. Рест —  2 штуки
  5. Нашла помощников на курс по автоматизации в постмане! ⊂( ̄▽ ̄)⊃
  6. Пополняю раздел «работы студентов» — 3 штуки
  7. Пополнила свой youtube-канал — 9 штук! 
  8. Статьи на Хабр — 3 штуки!
  9. Testbase — 3 улучшалки
  10. Folks — 1 улучшалка
  11. Users — 3 улучшалки!
  12. Прочитала 13 книг \(〇_o)/
  13. Инструменты 12 недель — продолжаю вести файлик DONE, это все еще очень круто
  14. Ходила в кино — в том числе в 4дх!
  15. Начали снова играть в настолочки )))
  16. Отметила день рождения! 
  17. Ездила с Владом в гости к подруге в дом
  18. Ездили всей семьей в гости к друзьями — пару раз ))
  19. Переболели короновирусом
  20. Ездила на узи 2 раза
  21. Закончили черновой ремонт
  22. Выбрала кухню!
  23. Прикупила "базовые" сережки, которые можно не снимать
  24. Сломала и починила любимое ныне колечко с жемчужинкой (до починки только через 2 месяца дошла!)
  25. Купила себе два новых колечка ^_^
  26. Устроили новогоднюю фотосессию!

Результаты подробнее

пятница, 8 января 2021 г.

Как учиться с интересом. Юлия Гиппенрейтер

 


Ссылка на OZON

Я пишу отзыв на книгу в этом блоге, а не во втором только потому, что исходно покупала эту книгу именно как бизнес-книгу. Я искала что-то типа "Искусство обучать", книгу для тренеров. К сожалению, таких книг очень и очень мало Грусть :(

А тут вроде бы именно про обучение, и отзывы хорошие. А какая, в целом разница, учить ребенка или взрослого? Ребенка даже сложнее, мотивации у него нет. Впрочем, у некоторых взрослых даже на платных курсах мотивации тоже нет, их отправило начальство )))

В целом, на бизнес-книгу не тянет. А если вы хотите почитать что-то о родительстве, то лучше прочитать полную версию — «Самая важная книга для родителей». Эта книжка — карманный вариант на конкретную тему. Выдержка из полной книги. Но лучше прочитать полную версию, этой одной будет мало.

Тем не менее я сделала несколько пометок с хорошими идеями про обучение, которые применимы как к детям, так и к взрослым студентам: