Этот дайджест создан совместно с телеграм-каналом QA Live | тестирование ПО. Подпишитесь, чтобы получать дайджесты прямо в телеграм!
Почитать:
Быть разработчиком скучно и сложно, и есть люди, которые из разработки уходят в QA, чтобы потом стать менеджером проектов: Dev>QA>PM.
Всегда старайтесь группировать близкие данные, и разделять длинные сложные списки параметров.
На других русскоязычных платформах:
Как правило, точность данных, собранных с помощью формы, зависит от выбора радиокнопки. Если по какой-то причине радиокнопка регистрирует информацию, не соответствующую сделанному выбору, у тестируемого приложения могут возникнуть проблемы. Именно поэтому даже простые на вид радиокнопки должны быть протестированы должным образом с использованием корректного набора тест-кейсов.
Одноразовые пароли (англ. one time password, OTP) – необходимый шаг для защиты данных и аутентификации пользователей. Любая онлайн-транзакция, включая кредитные/дебетовые карты, запрашивает OTP для защиты плательщика. Будучи наиболее критичным аспектом безопасности денежных переводов, функциональность OTP требует надлежащего тестирования. В этой статье мы расскажем вам о создании тест-кейсов для функциональности OTP и разберем несколько реальных примеров. Это поможет вам лучше разобраться с методикой разработки тест-кейсов и уверенно применять ее в других областях тестирования.
Иногда, когда я говорю, что в мире есть дураки, стремящиеся уничтожить культуру и искусство тестирования, люди мне не верят. Вот хороший пример того, что я имею в виду: «Тесты – это плохо для разработчиков».
Пост написан Стефаном Шмидтом. Он говорит, что у него за плечами более сорока лет разработки. У меня их столько же (1 января 2024 стукнул 41 год, годовщина моего первого рабочего дня в Dale Disharoon, Inc. Моим первым проектом было создание игры Hey Diddle Diddle для Apple II и С64). Возможно, разница между нами в том, что я всю свою карьеру занимался именно тестированием, а он говорит, что «пишет тесты» в ходе разработки. Между написанием тестов, предполагаю, он пишет код продукта, а это не тестирование. То есть он в лучшем случае поверхностно знаком с нашей отраслью.
В своей статье он заявляет, что QA-специалисты не должны тестировать, и что заниматься этим должны только разработчики. Поясню: он считает, что мир станет лучше, если разработчики, которые тестируют в лучшем случае изредка и не учились этому специально, будут единственными тестирующими людьми. Он считает, что эта ответственность лежит на разработчиках. Я считаю это шокирующе глупой идеей.
В этой статье я хочу обсудить одну из моих (видимо, многочисленных) больных мозолей. На этот раз это то, что регулярно всплывает в моих письмах и сообщениях в социальных сетях, а также на моих курсах.
Можно ли и то, и то назвать селекторами? Или локаторами? Сходила за уточнениями к Алексею Баранцеву, разработчику инструмента Selenium.
Метод pm.sendRequest нужен для того, чтобы асинхронно отправлять запросы в Postman до или после выполнения основного запроса (Pre-request или Post-response скрипты).
В тестировании, особенно мобильном, существуют специфические области приложений, которые не всегда тестируются «вдумчиво» в силу своей необычности. Одна из таких областей — это разрешения или, как их принято называть, permissions (пермишены). Всё чаще я сталкиваюсь с ними в работе , на собеседованиях и в различных тренажерах по тестированию, поэтому решил погрузиться.
История о том, как можно делать автотесты без автотестеров (ну почти).
Сегодня на практическом примере разберу использование UNIT-тестирования. Оно применяется как для тестирования состояния, так и для проверки поведения кода. В этом материале сосредоточусь на последнем аспекте. Покажу, как использовать JUnit, Mockito и AssertJ для тестирования кода, а также JaCoCo для оценки покрытия тестами на примере простого мини-сервиса.
Не так давно мы прочитали про случай, где адвокат использовал ChatGPT для подготовки аргументации стороны обвинения в суде. Ситуация может показаться абсолютно дикой: это же очевидно, что нельзя доверить искусственному интеллекту свою карьеру. Но мы не были бы тестировщиками, если бы не решили проверить, а сможет ли ChatGPT помочь подготовить нас к собеседованию.
Для этого мы решили задать ему вопросы, которые могут встретиться во время собеса на позицию тестировщика, и проанализировать, насколько его ответы были бы хороши в реальной жизни. Для полноты исследования мы выбрали вопросы для оценки как хард-скиллов (в том числе немного про автоматизацию тестирования и мобильную специфику), так и софт-скиллов. Мы недолго выбирали между версиями чатиков, потому что разница в ответах была не большая.
Писать о регрессе в 2024 году — казалось бы, странная идея: каждый, кто хоть как-то связан с IT-миром, знает, что такое регрессионное тестирование и зачем оно нужно. В каждом курсе, в каждой статье для новичка о нем рассказывается. Вроде бы можно закрыть тему… Но почти каждый раз, когда на собеседовании я задаю вопрос: «Как мне выбрать тесты для регресса?», четкого ответа я не получаю. Это не зависит от уровня тестировщика, его опыта и направления.
Approval Tests представляют собой альтернативный подход к традиционным утверждениям при тестировании программного обеспечения. Они особенно полезны при работе со сложными объектами, такими как длинные строки, коллекции или объекты с большим количеством свойств. Захватывая результат вывода и сравнивая его с утвержденной версией, утверждающие тесты упрощают процесс проверки того, что ваш код ведет себя так, как ожидается.
Утечки памяти в мобильных приложениях: руководство для QA-инженеров
Около года назад мы пытались понять, почему у одной из команд джоба с автотестами отваливается по тайм-ауту. К слову, это был проект мобильного приложения для продавцов, и на нем у нас для автоматизации тестирования используются нативные фреймворки: Kaspresso + Kotlin для Android и XCTest + Swift для iOS.
Python QA: введение в Unit Tests
Данная статья призвана погрузить вас в мир Unit Tests в Python. Мы рассмотрим основные принципы написания тестов, научимся создавать простые и эффективные тесты для вашего кода, а также рассмотрим некоторые лучшие практики и советы по их использованию. После ознакомления с этой статьей вы сможете использовать Unit Tests для обеспечения качества вашего Python-кода и повысить уверенность в его надежности.
Написание тестов для асинхронного кода с помощью XCTest
В этой статье мы начнём с рассмотрения классического способа тестирования асинхронного кода, чтобы убедиться, что мы все на одной волне относительно плюсов и минусов классического асинхронного теста. После этого мы рассмотрим, как async / await кардинально меняет способ написания юнит-тестов для асинхронного кода, и как он может повлиять на то, что тесты оказываются успешными и неудачными.
Вообще наша компания занимается разработкой смартфонов и софта к ним для слепых и слабовидящих. Но порой возникают ситуации, когда приходится отлаживать не только свои приложения, но и разбираться с чужими. Обычно это происходит в случае, когда приложение глючит или не работает вовсе именно на наших телефонах. Поскольку наша аппаратная платформа не похожа на традиционные Android-смартфоны да и сам код фреймворка доработан рашпилем, мы готовы к подобным сюрпризам. Так случилось и в этот раз. Клиент жаловался, что у него есть проблемы с login-ом в одну из online-библиотек с аудио-книгами через Android-приложение. Поддержка попросила меня разобраться, есть ли в этом наша вина, или же нет.
Тестируем внешнее django-приложение при помощи pytest
Итак, у вас есть джанго-приложение, апишка к нему, и вы хотите написать автотесты на пайтест, находясь вне этого джанго-приложения: в другой директории, в другом проекте.
В мире QA на других платформах (англоязычных):
In his recent blog, Jason Arbon discusses recent AI safety tests and their unexpected failures with the latest GPT-4o model. He highlights the importance of monitoring AI behavior to prevent potential dangers, sharing his experiences and the need for collaborative efforts in refining these safety measures.
Uncover the importance of negative testing in your QA strategy, its impact on software robustness, and how to write effective test cases for seamless user experiences.
In testing we can fall into the trap of thinking (or being told that) only certain things are technical. These are usually the closer to the code and automation tasks.
But there are additional technical testing skills that aren’t automation based. Testing skills around what should we test, risk analysis and strategy are all technical skills, so is exploration by chasing data through the stack or using tools for benchmarking and testing.
As a member of Generation X, I find myself reminiscing about the days when «The One» was Neo, dodging bullets in «The Matrix,» and when I started my journey in software QA.
In my last years working on heavy complex software problems, I realized something: it is more useful to have a lot of integration tests than unit tests. In this post, I will explain why and later offer the tools that help me to build robust integration tests.
Imagine you are a developer or tester, and the product owner came to your desk and asked if you could run a performance test before next week. He wants to go live as soon as possible, but realised last night that the application should perform well in production. If we run a performance test, we will be ready to go and have checked every checkbox on the “go-live-list”.
Disclaimer: What I’m going to explain here is based on my own experience creating APIs that integrate through HTTP APIs with third-party services.
If you’re building software that will be used by other people (and who isn’t?), you need to know how to deal with missed bugs without losing your mind or burning bridges with your colleagues and clients.
If you’re using Puppeteer for automation, tests, or web scraping, you’ve likely encountered the question of how to set the browser’s language. Controlling the language explicitly is crucial because the language on your local system might differ from that on another remote system where you want to run Puppeteer, such as CI (e.g., GitHub Actions) or a Serverless environment (e.g., AWS Lambda or CloudFlare Workers).
To my surprise, it’s not well documented how to do that. It seems there are a bunch of options, and you have to figure out what works best for you. After spending a considerable amount of time on research, I’ve compiled a list of options. I have validated each option against BrowserLeaks, which shows you all available information on your browser and its supported features, including the locale and the accepted language, which ultimately determines the content you’re going to see.
Modern development should be founded on iterating with fast feedback, eliminating waste, and amplifying value. But yet we are very wasteful when we test.
At BigBinary, we use Cypress as our primary end-to-end testing framework because of its simplicity and compatibility. We have 400+ tests across multiple products most of which are long-running tests handling complex workflows. We use the most commonly used version of Chromium as the test browser to make sure the tests capture how the majority use our products. While the development has always been smooth sailing, the same cannot be said about the test runs.
In any testing situation, when you’re using a tool, you must understand its working principles. You must know what it can and cannot do. You must know how to configure it, and how to calibrate it, how to observe it in action, and how to adjust or repair it when it’s not working properly.
To do THAT effectively, you must be able to recognize when your tool is not working. You must be able to recognize when it might be fooling you into believing that is working when it isn’t. You must be prepared to test your testing tools (examples here and here). You must become alert to bugs in it.
Now: thanks to the gold rush, there is a big push from executives, managers, and from some testers themselves to use AI in testing.
This is a reflection on seeing the rise of LLMs that write your tests like Meta’s TestGen and its first open source implementation.
Посмотреть:
In this video, I am talking about a situation when software development teams have no dedicated software tester in their team. We all agree, that this is not ideal. However, in many teams this is the standard! Not every company want to spend the extra money to hire software testers.
If this situation can’t be changed, the software development teams have to spend time to work on the product quality themselves. In this video, I am sharing topics every team can do in order to improve the product quality. All the work can be done without any software testers.
Видео про CI/CD для тестировщика с примерами работы в Jenkins.
- Observability for testers ⏱1 час
In this episode of Adobo and Avocados, Abby Bangser, Founding Principal Engineer and CNCF Ambassador, talks about the importance of observability for testers and how it can enhance overall software quality. We are Marie Cruz and Nicole van der Hoeven, two Senior Developer Advocates at Grafana Labs. But we’re not here to talk about work! On Adobo & Avocados, we talk about the human side of the work we love and how to make the industry a more colourful place. We talk about intersectionality, developer advocacy, testing, development, and sometimes we even talk about food.
In this session I’m introducing you to Playwright, why you should try it, and what you can expect to get (including some dark-side bits).
In this session, Simon is joined by Andrea Jensen, Mahathee Dandibhotla and Parveen Khan where they explore what the community has to say about Testing Tools.
Хорошей недели!