QAMania
4.09K subscribers
156 photos
8 videos
2 files
580 links
Ламповий блог про тестування, пишемо про те, що нам цікаво та власний досвід.

А ще в нас є
🌐 https://qamania.org
📺 https://youtube.com/@QAMania
Download Telegram
Всім з нас доводилось тестувати такі характеристики якості як: Functionality, Performance Efficiency, Usability, Maintainability та інші за найбільш вживаним стандартом ISO/IEC 9126, або його осучасненою версією ISO/IEC 25010:2011.
Але небагатьом з нас доводилось займатись тестуванням Функціональної придатності, Використовності ресурсів, Зручності у використанні, Супроводженності або ж інших характеристик якості :)
Небагато хто знає, що в нашій країні діє чинний стандарт ДСТУ, який є повним відповідником ISO/IEC 9126.
Якщо у вас виникла потреба знайти правильний переклад того чи іншого технічного терміну, пов'язаного із якістю пз, то pdf із зазначеним стандартом можна скачати тут:
https://metrology.com.ua/ntd/skachat-iso-iec-ohsas/eea/dstu-is0-ies-9126-1-2013/
#theory
Якість mind map
#theory
Ми тут подумали, що можливо не тільки лиш всі знають досконало атрибути якості продукту за моделлю що запропоновано стандартом ISO/IEC 25010:2011.
Тому підготували зручну mind map діаграму.

May the Quality be with you!
​​CTQ vs Benchmarking
#fight #theory
Вчора ми писали про CTQ й наш авторський колектив.. скажімо так - вступив в академічну суперечку 👊. Й препонент (той хто писав пост про CTQ), й опонент (той хто давав корисні :) поради щодо суті посту) на диво, мали досвід із цим не найпоширенішим типом тестування. Але опонент, послуговуючись своїм досвідом, стверджував що CTQ є нічим іншим як надбудовою над набагато більш поширеним типом тестування - Benchmarking. Автор же посту озброєний вікіпедією та гуглом наполягав що CTQ та Benchmarking цілком самостійні, окремі типи тестування.
🔫 Головний аргумент за "надбудову": для того щоб окреслити ті червоні та зелені межі показників роботи системи, які потім перевірятимуться в ході CTQ тесту - дуже часто спочатку потрібно взагалі з'ясувати які показники функціонування системи ми отримаємо при певному навантаженні. Наприклад щоб поміряти чи досягне система обробки потокового відео позначки в 70% утилізації оперативної пам'яті сервера за тиждень функціонування (CTQ) - спочатку треба дізнатись скільки пам'яті система утилізує в "нормальному" режимі функціонування протягом години, чи дня (Benchmarking).
🔪 Головний аргумент за автентичність: хоч множини атрибутів якості які перевіряться Benchmarking та CTQ й перетинаються в наведеному прикладі з безпековою системою, але CTQ може включати в себе не тільки атрибути якості що стосуються ефективності, а й атрибути що стосуються зручності у використанні, функціональності, надійності.. В той час як Benchmarking тип тестування призначений лиш для того щоб перевіряти виключно продуктивність.

Далі... Далі все скінчилось хепі-ендом: вони все ж таки лишились друзями, навіть незважаючи на такі значні розбіжності у світогляді. Але говорити на цю тему один з одним більше не хочуть 🤐
Тому пропонуємо вам здогадатись чиї аргументи виявились сильнішими 💪
Modern Testing
#learnit #theory

Новий рік почнемо з нових концепцій.
Багатьом з нас добре знайома фундаментальна теорія тестування та деякі з концептуальних надбудов над нею, обумовлені вимогами сучасності, наприклад: Agile Testing, що до якого ISTQB навіть окремі екзамени має, або ж TestOps, про який ми детально писали тут і на DOU.
Нещодавно відкрив для себе ще одну з відносно свіжих концепцій: Modern Testing.
Її авторами є Alan Page та Brent Jensen. Перший - ведучий автор книги "How we test software at Microsoft", другий - його колега-ведучий в достатньо популярному подкасті про тестування "AB Testing". Давайте коротенько розповім про що вона, та навіщо вона вам.

Що:
Modern Testing, це набір принципів.
Пряма аналогія - Agile Manifesto.
Тобто не покроковий рецепт організації тестування, і не опис профілю тестувальника в сучасному світі. Це філософія, основоположні принципи, якими (на думку авторів) мають керуватись спеціалісти для того щоб робити якісний софт.

💡Цих принципів 7:
1️⃣ Наш пріоритет - вдосконалення бізнесу
2️⃣ Ми прискорюємо команду, допомагаючи в пошуку, пріоритезації та запобіганню вузьких місць системи
3️⃣ Ми є рушієм постійного вдосконалення, допомагаючи команді адаптовуватись та оптимізовуватись замість надання сачку для ловлі багів
4️⃣ Ми плекаємо паростки кращої культури якості в команді, тренуємо та ведемо до вищих ступеней її зрілості
5️⃣ Ми віримо в те, що саме клієнт - єдиний хто здатен судити про якість нашого продукту
6️⃣ Ми інтенсивно використовуємо дані, щоб зрозуміти клієнтські сценарії та закрити прогалини між гіпотезами продукту й впливом на бізнес
7️⃣ Ми залучаємо всю команду в тестування, розуміючи що це може зменшити необхідність у виділеному спеціалісті з тестування

🎯 Навіщо:
Modern Testing - це подальша еволюція розуміння ролі тестування та тестувальника в розробці програмних продуктів. Ця концепція вже достатньо часто пригадується в англомовних матеріалах по тестуванню: статтях, подкастах, опитувальниках, і т.д. Послуговуючись принципами Modern Testing разом з TestOps та Agile Testing - індустрія робить кроки "ліворуч" (shift left) для пришвидшення й праворуч (shift right) для покращення якості.
Може це не завжди й помітно, але все це відбувається вже зараз! Й вищезгадані концепції не є візіонерськими, вони лише формулюють базові принципи та цінності того, що відбувається.
Тому, мені здається - важливо розуміти куди все рухається, й де буде наше в цьому місце.

Всім якості!
👌 Якість даних
#theory #quality #data

Привіт друзі. Майже місяць тому прочитав в Test Engineering Notes невеликий пост про стандарт якості даних ISO 25012. Як справжній душніла ™️, що обожнює різні стандарти, я не міг пройти повз, і вирішив детально його розібрати, тим паче, він сусід нашого улюбленого стандарту якості ПЗ - ISO 25010. Бо гарні дані - основа для гарних тестів. А цей стандарт - один з тих випадків, коли навіть не думаєш, що таке є 😀

Чому знати про стандарти - корисно? Вони можуть стати точкою відліку для вашої роботи! Треба комплексне тестування ПЗ? Згадуєте ISO 25010 і пішли по списку:
функціональність - тестуємо, що програма робить?
ефективність - як швидко програма робить те, що робить?
надійність - як програма оброблює помилки?
і т.д.

Якщо у вас є потреба протестувати якість даних, і ви не хочете нічого пропустити - читайте стандарт.
Якщо вам треба "залізні" докази, що ваші дані якісні - посилайтесь на стандарт.
Якщо вам треба довести, що надані/згенеровані дані не якісні - ну, ви зрозуміли ;)

Це і є експертний підхід!

Хотів розібрати стандарт в одному пості, але матеріалу вийшло забагато, тож буду публікувати частинами, протягом тижня.

---
Бережіть себе!
Вірте в ЗСУ! 🇺🇦
Все буде Україна! 🇺🇦
Please open Telegram to view this post
VIEW IN TELEGRAM
📌 Якість даних - база
#theory #quality #data

Привіт друзі! Астрологи оголосили цей і наступний тиждень тижнями душніл даних. Кількість відповідних постів збільшена в два рази 😁
Давайте почнемо з визначень.
Якість даних - міра відповідності даних визначеним вимогам (майже співзвучно визначенню якості ПЗ)
Якість даних складається з 15 характеристик, розділених на 3 категорії:

➡️ Власна якість даних (Inherent Data Quality) - ступінь відповідності даних явним і неявним потребам.
Наприклад: IPv4 адреса - 4 десяткові числа в діапазоні 0-255, розділені точками. 127.0.0.1

➡️ Якість даних, залежна від системи (System-Dependent Data Quality) - ступінь досягнення та збереження даних в конкретній комп'ютерній системі.
Наприклад: IPv4 адреса в деякій конкретній системі зберігається у 16-ковому вигляді без розділювачів: 0х7F000001

➡️ Змішана якість даних (Inherent and System-Dependent Data Quality) - ступінь відповідності даних і потребам, і конкретному ПЗ.

---
Бережіть себе!
Вірте в ЗСУ! 🇺🇦
Все буде Україна! 🇺🇦
Please open Telegram to view this post
VIEW IN TELEGRAM
🎯 Якість даних - точність
#theory #quality #data

Власна якість даних (Inherent Data Quality)
Точність (accuracy)
- міра відповідності атрибутів даних справжньому значенню передбачуваного концепцією в конкретному контексті використання.

Має 2 під-атрибути:
Синтаксична точність (Syntactic Accuracy) - міра відповідності даних правилам, визначеним у домені, який вважається синтаксично правильним (мають правильну форму)
Семантична точність (Semantic Accuracy) - міра відповідності даних правилам, визначеним у домені, який вважається семантично правильним (мають правильний зміст)

Приклад на зображенні. Є набір даних: товари для інтернет магазину, що продає різні чашки. 2 Записи містять дані низької якості.
➡️ №5 Горнятко - проблема з синтаксисом в описі товару
➡️ №8 Годинник - проблема зі змістом (самою суттю) - зайвий товар в усьому наборі даних

---
Бережіть себе!
Вірте в ЗСУ! 🇺🇦
Все буде Україна! 🇺🇦
Please open Telegram to view this post
VIEW IN TELEGRAM
💻 Якість даних - повнота
#theory #quality #data

Власна якість даних (Inherent Data Quality)
Повнота (completeness)
- міра відповідності даних, пов’язаних з конкретною сутністю, до еталонної. Дані мають мати значення для всіх очікуваних атрибутів і пов’язаних екземплярів в конкретному контексті використання.

Приклад на зображенні. Є набір даних: товари для інтернет магазину, що продає різні чашки.
➡️ №2 Стакан - не містить поля ціна, тож дані є не повними
➡️ №3 Келих - не містить поля джерело, тож дані є не повними
➡️ Для жодного запису не має даних в атрибуті Misc. Або ж всі дані - не повні, або це поле тут зайве і має бути видалене

---
Бережіть себе!
Вірте в ЗСУ! 🇺🇦
Все буде Україна! 🇺🇦
Please open Telegram to view this post
VIEW IN TELEGRAM
🏓 Якість даних - узгодженість
#theory #quality #data

Власна якість даних (Inherent Data Quality)
Узгодженість (сonsistency)
- міра відповідності даних іншим даним в конкретному контексті використання.

Приклад на зображенні. Є набір даних: товари для інтернет магазину, що продає різні чашки.
➡️ Опис товару горнятко написано англійською мовою, і не зважаючи на те, що дані є, вони синтаксично і семантично правильні, вони не мають бути в цьому наборі.

---
Бережіть себе!
Вірте в ЗСУ! 🇺🇦
Все буде Україна! 🇺🇦
Please open Telegram to view this post
VIEW IN TELEGRAM
⚠️ Якість даних - достовірність
#theory #quality #data

Власна якість даних (Inherent Data Quality)
Достовірність (credibility)
- міра відповідності даних таким, що вважаються правдивими в конкретному контексті використання. Достовірність включає концепцію автентичності (правдивість походження, атрибуції, зобов'язань)

Приклад на зображенні. Є набір даних: товари для інтернет магазину, що продає різні чашки.
➡️ Концепція магазину передбачає, що назва і опис товару відповідають дійсності. Саме тому запис №8 викликає сумніви в достовірності. Вібраніум - вигаданий метал, а Тор і Мйольнір - персонажі скандинавської мітології і коміксів Марвел

---
Бережіть себе!
Вірте в ЗСУ! 🇺🇦
Все буде Україна! 🇺🇦
Please open Telegram to view this post
VIEW IN TELEGRAM
Якість даних - актуальність
#theory #quality #data

Власна якість даних (Inherent Data Quality)
Актуальність (сurrentness)
- міра відповідності даних віку в конкретному контексті використання.

Приклад на зображенні. Є набір даних: товари для інтернет магазину, що продає різні чашки.
➡️ Товари №6 та №7 були доступні для продажу в 2018 та 2019 роках відповідно. Тобто зараз втратили свою актуальність.

⚠️ тут варто зазначити, що визначати актуальність даних потрібно дуже обережно, бо деякі старі дані можуть зберігатись не просто так, а для забезпечення зворотної сумісності чи для історії.

---
Бережіть себе!
Вірте в ЗСУ! 🇺🇦
Все буде Україна! 🇺🇦
Please open Telegram to view this post
VIEW IN TELEGRAM
🔩 Змішана якість даних (Inherent and System-Dependent Data Quality)
#theory #quality #data

Ця категорія містить низку атрибутів, які ми розглянемо всі разом.
Доступність (Accessibility) - міра, в якій дані можуть бути доступними в конкретному контексті використання; наприклад, людям з обмеженими можливостями.
Наприклад: До кожної картинки на вашому веб сайті є текстовий опис, який може бути озвучений програмою для людей, що погано бачать

Відповідність (Compliance) - міра відповідності атрибутів даних стандартам, домовленостям і правилам.
Наприклад: номером кредитної картки є 16-тизначне число. Це стандарт. Якщо у вас є набори даних з 17-тизначними номерами - це не обов'язково баг, але потенційна проблема

Конфіденційність (Confidentiality) - міра, в якій дані мають атрибути, що забезпечують доступ до даних лише авторизованим користувачам
Наприклад: дані зберігаються в зашифрованому вигляді і доступні лише тим, що має пароль для розшифрування

Ефективність (Efficiency) - міра, в якій дані зберігаються у тому виді, в якому їх обробка займає оптимальну кількість часу.
Наприклад (утрирувано): Цифри можна зберігати у вигляді цифр: 1, 2, 15, 27. А можна у вигляді слів: один, два, п'ятнадцять, двадцять сім. Дані ті ж, але у вигляді слів їх обробляти складніше

Влучність (Precision) - тут буде складно не переплутати з Точністю (Accuracy). Міра відповідності можливості чітко їх розрізнити і зрозуміти їх призначення.
Наприклад: У вашому інтернет магазині атрибут товару - "ціна", має назву не "ціна", а абстрактно "гроші". Майже те саме, але погіршує розуміння

Відстежуваність (Traceability) - міра відповідності можливості відстежити доступ до даних і зміни даних.
Наприклад: Git - гарний приклад системи, що містить дані та повну історію їх змін, тобто дані в git - якісні з точки зору відстежуваності

Зрозумілість (Understandability) - міра, в якій дані можуть бути прочитані на інтерпретовані користувачами, написані відповідними мовами і символами.
Типовий приклад: дані, збережені в кодуванні UTF-8 - більш якісні, ніж дані, збережені в національному кодуванні типу CP-1251

---
Бережіть себе!
Вірте в ЗСУ! 🇺🇦
Все буде Україна! 🇺🇦
🔐 Якість даних, залежна від системи (System-Dependent Data Quality)
#theory #quality #data

Ця категорія містить всього 3 атрибути, тож доб'ємо теорію якості даних сьогодні!
Доступність (Availability) - міра, в якій дані можуть бути отримані авторизованими користувачами чи ПЗ.
Наприклад: Кожен користувач, що реєструється в системі, має мати доступ до всіх своїх даних. При цьому система присвоює кожному користувачу прихований ID. Саме цей ID потенційно зменшує якість всіх даних, бо не все доступно користувачу.

Портативність (Portability) - міра, в якій дані можуть бути перенесені в іншу систему без втрати якості.
Наприклад: Типова проблема багатьох інженерів - налаштувати міграцію даних. Гарні системи одразу проєктуються таким чином, щоб мати механізм експорта: в json, csv, xls, тощо

Відновлюваність (Recoverability) - міра, в якій дані можуть бути збережені для подальшої роботи у випадку помилок.
Наприклад: Є бекап - чудово, нема бекапа - бігом робити! 😁

---
Бережіть себе!
Вірте в ЗСУ! 🇺🇦
Все буде Україна! 🇺🇦
Please open Telegram to view this post
VIEW IN TELEGRAM