Чтобы заниматься тестированием, не обязательно иметь какой-то врожденный талант, доступный только избранным. Но назвать это тривиальной деятельностью, которой может заняться абсолютно каждый, тоже нельзя. Представляем пять советов, как стать еще лучше в тестировании.
Пользователь
Тестировщик и его роль в разработке. Когда нужно сломать сайт и чем это полезно?
Сегодня поговорим о тестировании у нас в Alente, а конкретно — о том, как трансформировалась роль тестировщика в проектах.
Пару лет назад мы работали как большинство студий: привлекали тестировщика только на этапе тестирования. Но сейчас он принимает деятельное участие в работе уже на этапе сбора требований к сайту. Почему так получилось и как это помогает улучшить продукт? Читайте — и вы всё узнаете.
Как было раньше?
Проекты приходили на тестировку перед запуском. И мы получали набор стандартных проблем данного этапа: непроработанные изначальные требования приводили к переделкам на этапе тестирования. При этом отметим, что непроработанные требования — это не только недостаточное описание работы функций, но и возникающие противоречия в их трактовке. Мы все люди, и бывают ситуации, когда команда разработки, начиная от проект-менеджера и дальше по цепочке верстальщик — программист — тестировщик, трактует требования по-своему. А в итоге получается проект-«франкенштейн».
Причиной чаще всего были ошибки коммуникации, потому что не все требования фиксировались текстом или выражались в виде прототипов и макетов. Что-то оставалось в переписках, в обсуждениях и даже просто в головах, терялось в потоке задач и выпадало из процесса.
Другой проблемой становились изменения требований по ходу разработки. Отсутствие чёткого механизма фиксации изменений приводило к ситуациям, когда что-то делалось по договорённости, а потом не было никакой возможности выяснить, кто, с кем и о чём конкретно договаривался. В случае кадровых ротаций в команде это приводило к очень серьёзным проблемам.
Практические рекомендации по работе с Docker для Python-разработчиков
Прим. Wunder Fund: в этой длииинной статье вы найдете ряд полезных советов по работе с Docker, как общего характера, так и Python-специфичных. Хоть мы и давно используем Docker в работе, про некоторые советы мы подумали "а что, так можно было?". Советуем вначале пролистать статью, и отметить штуки, которые покажутся актуальными для вашей текущей ситуации.
Новое тестирование фичей в Django 3.2
Пару недель назад Django 3.2 выпустил свой первый альфа-релиз, а финальный релиз выйдет в апреле. Он содержит микс новых возможностей, о которых вы можете прочитать в примечаниях к релизу. Эта статья посвящена изменениям в тестировании, некоторые из которых можно получить на более ранних версиях Django с пакетами backport.
Шесть Python-пакетов, которые рекомендуется использовать в каждом веб-приложении на Django
Есть бесчисленное множество Python-пакетов, которые легко добавить в любой проект. Но также есть несколько пакетов, которые вы просто не можете не использовать в любом веб-приложении на Django, потому что они зарекомендовали себя как чрезвычайно полезные и экономящие время.
Мы решили сосредоточиться на тех пакетах, которые в конечном итоге вы будете устанавливать регулярно, и рассказать об установке, а также конфигурациях, необходимых для их приведения в состояние готовности к работе.
В то время как некоторые Python-пакеты предлагают потрясающую функциональность, необходимую для конкретного проекта, пакеты, обсуждаемые ниже, — наиболее ходовые из Django-пакетов.
Django ORM для начинающих | Оптимизируем запросы
Django ORM (Object Relational Mapping) является одной из самых мощных особенностей Django. Это позволяет нам взаимодействовать с базой данных, используя код Python, а не SQL.
Based on schegel.net
Для демонстрации опишу такую модель:
from django.db import models
class Blog(models.Model):
name = models.CharField(max_length=250)
url = models.URLField()
def __str__(self):
return self.name
class Author(models.Model):
name = models.CharField(max_length=250)
def __str__(self):
return self.name
class Post(models.Model):
title = models.CharField(max_length=250)
content = models.TextField()
published = models.BooleanField(default=True)
blog = models.ForeignKey(Blog, on_delete=models.CASCADE)
authors = models.ManyToManyField(Author, related_name="posts")
Интеграция .pre-commit hook в Django проект
Меня зовут Соболев Андрей и сегодня я вам расскажу как мы приготовили .pre-commit hook на нашем проекте.
Вступление
Для начала пару слов, о том что такое в целом хуки (hooks) и для чего они могут быть нужны. Git «из коробки» предоставляет инструмент, который умеет запускать ваши скрипты при наступлении какого-либо события (к примеру пуш на сервер и т.п.)
.pre-commit это удобная надстройка над дефолтным git pre-commit hook, которая запускает скрипты описанные в .pre-commit-config.yaml перед созданием коммита. В теории звучит просто, перейдем к практике.
Теория тестирования ПО просто и понятно
Какие базовые знания нужны для понимания, что такое тестирование? Вот что будет рассматриваться в статье. Создавалась в помощь начинающим для подготовки к собеседованию
Руководство по работе с Django REST Framework, Swagger и созданию клиента TypeScript для API
Цели:
Создать API с помощью Django REST Framework;
Создать динамическую документацию Swagger;
Сгенерировать для API код клиента на TypeScript;
Создать базовое приложение на ReactJS, которое будет использовать сгенерированный код на TypeScript для отображения данных из API.
Разбираемся с параллельными и конкурентными вычислениями в Python
Я собираюсь рассказать историю о еде, раскрывающую различные возможности конкурентного и параллельного выполнения кода в Python.
Прим. Wunder Fund: для задач, где не критичны экстремально низкие задержки — при сохранении и обработке биржевых данных, мы используем Питон, и естественно применяем описанные в статье подходы. Статья будет полезна начинающим разработчикам.
Мы увидим, что когда один человек одновременно делает несколько дел — это похоже на конкурентность, а когда несколько человек, работая бок о бок, заняты каждый собственным делом — это напоминает параллелизм. Эти ситуации мы разберём на простом и понятном примере закусочных, в которые люди заходят в обеденный перерыв. Такие заведения стремятся обслуживать клиентов как можно быстрее и эффективнее. Потом я покажу реализацию механизмов этих закусочных на Python, а в итоге мы сравним разные возможности одновременного «приготовления нескольких блюд», которые даёт нам этот язык, и разберёмся с тем, в каких ситуациях их применение наиболее оправдано.
А именно, я раскрою здесь следующие вопросы:
▪ Отличия конкурентности от параллелизма.
▪ Различные варианты организации конкурентного выполнения кода (многопоточность, модуль asyncio
, модуль multiprocessing
, облачные функции) и их сравнение.
▪ Сильные и слабые стороны каждого подхода к организации конкурентного выполнения кода.
▪ Выбор конкретного варианта организации конкурентного выполнения кода с использованием специальной блок-схемы.
Первые шаги в aiohttp
Привет, меня зовут Артём. Я работаю бэкендером в KTS и веду курсы по разработке в KTS Metaclass. Заметил, что труднее всего студентам даются темы по асинхронному программированию.
Основываясь на своём преподавательском опыте, я написал туториал, рассказывающий о создании базового aiohttp-сервиса с нуля и затрагивающий самые сложные для студентов вопросы: как сделать асинхронное python-приложение, как работать с базой данных и как разложить свой проект в интернете.
Это первая статья цикла, в ней мы напишем небольшое веб-приложение на aiohttp — стену с отзывами, где каждый может оставить свое мнение о каком-то продукте.
Подборка полезных библиотек для Python с примерами #1
У Python одно из самых больших комьюнити. Этот язык любят за его простоту, лояльность и за его универсальность, которая была достигнута созданием огромного числа библиотек и фреймворков, таких как numpy, django, flask, pygame, tornado, tensorflow и других. На сайте pypi содержится более 320 тысяч проектов от малоизвестных и заброшенных до огромных, которыми пользуются миллионы людей в различных сферах.
Однако даже в таком большом числе библиотек иногда бывает трудно найти нужную. Поэтому хотелось бы поделиться некоторыми полезными библиотеками и привести примеры работы с ними.
35 инструментов для веб-разработчика на каждый день
Кроме редактора кода, терминала, браузера и гита веб-разработчики пользуются вагоном и маленькой тележкой маленьких инструментов, которые выполняют какую-то одну задачу, но могут пригодиться в ежедневной работе. Предлагаем вам нашу подборку — надеемся, что что-то пригодится, а по поводу чего-то вы и вовсе скажете «А что, так можно было?».
Краткое содержание: проверка кода по стандартам, проверка вёрстки и стилей, работа с кодом, работа с графикой (SVG, фавиконки, конвертеры и сжималки), работа с текстом (типографы и конвертеры всего во всё).
Дисклеймер: подборка не претендует на полноту, но в комментариях собираем другие полезные инструменты.
Как спарсить любой сайт?
Меня зовут Даниил Охлопков, и я расскажу про свой подход к написанию скриптов, извлекающих данные из интернета: с чего начать, куда смотреть и что использовать.
Написав тонну парсеров, я придумал алгоритм действий, который не только минимизирует затраченное время на разработку, но и увеличивает их живучесть, робастность и масштабируемость.
Фреймворки для тестирования: личный опыт и новые методы
Привет, Хабр! Меня зовут Сергей Радченко, и мы с командой профессионально занимаемся тестированием уже несколько лет. Сегодня я посчитал количество автотестов, которые мы подготовили для веб-интерфейсов, десктопных приложений, API, систем двухфакторной авторизации и так далее (их оказалось более 5000). И мне захотелось рассказать о нашем опыте создания экосистемы для автоматизированного тестирования. В этом посте вы найдете описание полезных для комплексного тестирования фреймворков, а также исходный код некоторых дополнительных методов, которые мы дописали самостоятельно, чтобы написание тестов происходило быстрее, и тестирование приносило больше пользы.
48 полноценных бесплатных книг для программистов (happy developer's day)
Привет, Хабр! Немного запоздало (ко дню программиста) делюсь подборкой бесплатных книг по программированию. Все они полезные, уровень скорее профессиональный, хотя и для развития от базового тоже подойдет, но, к сожалению, на английском. Среди тем книг: .NET, Алгоритмы, Android, iOS, Angular, C, C++, C#, JS, Linux, Python. В целом, найдется почти любая тема, которая приходит в голову.
Дисклеймер. Все эти книги взяты с одного ресурса, который существует за счет донейшенов. Получить книги можно без осуществления донейшенов, ресурс полностью бесплатный, пожертвования опциональны. Все книги написаны на основе контента со StackOverflow и являются код-ориентированными. Книги со временем обновляются. По ссылкам -- книги, актуальные на 15.09.2021.
Когда использовать mocks в юнит-тестировании
Эта статья является переводом материала «When to Mock».
Использование моков в модульном тестировании является спорной темой. Автор оригинала заметил, что на протяжении всей своей карьеры в программировании он сначала перешел от «моков почти для каждой зависимости» к политике «без моков», а затем к «только моки для внешних зависимостей».
Ни одна из этих практик не является достаточно хорошей. В этой статье Владимир Хориков покажет, какие зависимости следует мокать, а какие использовать как есть в тестах.
Чек-лист — как тестировать поиск
Я посмотрела, как тестируют поиск начинающие тестировщики, и решила написать этот чит-лист проверок. Это такая серебряная пуля, которую можно применить на любом проекте, лишь немного варьируя под себя, под свой проект.
Поиск — он же есть практически в каждой системе. Поэтому здорово, когда есть шпаргалка «какие вопросы задать аналитику» и «какие проверки провести». Именно это мы в статье и обсудим. Сначала я дам чек-лист, а потом разберу каждый пункт отдельно.
Быстрый, мощный интерфейс на Python
Dear PyGui принципиально отличается от других фреймворков GUI Python. Рендеринг на GPU, более 70 виджетов, встроенная поддержка асинхронности — это лишь некоторые возможности Dear PyGui. Руководством по работе с этим пакетом делимся к старту курса по разработке на Python.
Что видят в ваших резюме Python-рекрутеры, или Как получить работу мечты
Одна из вещей, которая связывает людей с работой их мечты — это резюме. Множество эйчаров смотрят на разные резюме каждый день. Если вы просмотрите хотя бы 10-40 резюме, то поймете, почему рекрутеры легко видят общие ошибки и насколько некоторые вещи выглядят для них забавно. Причем синьоры могут делать точно такие же ошибки, как и джуны, несмотря на то, что они уже 20 лет в индустрии.
Сегодня посмотрим на 5 резюме с точки зрения рекрутеров, которые ищут Python-разработчиков. На круглом столе конференции Python Week 2020 рекрутеры рассказали, что они ожидают от резюме по умолчанию, а что — им хотелось бы видеть еще. Два резюме будут от джунов, одно — от крепкого миддла, и еще пара — от кандидатов, которые решили поменять направление своей карьеры.
Информация
- В рейтинге
- Не участвует
- Откуда
- Москва, Москва и Московская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность