cookie

Мы используем файлы cookie для улучшения сервиса. Нажав кнопку «Принять все», вы соглашаетесь с использованием cookies.

avatar

Затишна Галера

Голова Одеського центру розробки DataArt та Delivery Director, капітан Затишної Галери, ділитимуся: завданнями із співбесід (QA/Delivery/Management), статтями, вакансіями, новинами зі світу IT. Контакт: [email protected] ; Patreon: patreon.com/CozyGalley

Больше
Рекламные посты
2 329
Подписчики
-224 часа
-67 дней
+330 дней

Загрузка данных...

Прирост подписчиков

Загрузка данных...

#ЧарівнийКомпас 🧭 1️⃣4️⃣7️⃣ Завдання 147 Є Input поле, яке приймає цілі значення від 18 до 99 включно. Потрібно протестувати за допомогою техніки тест-дизайну Boundary Values Analysis і Equivalence Partitioning. Продовжуємо розбирати практичні задачки зі співбесід зі сфери QA. Почнемо з еквівалентного розбиття та з нагадування, а що це таке: #️⃣ Equivalence Partitioning (воно ж або Еквівалентне розбиття або класи еквівалентності) - є однією з технік тест-дизайну. Головна мета - виділити такі вхідні проміжки значеннь (або класи), при введенні яких тестований софт поводитиметься однаково. У такому разі нам буде достатньо перевірити одне значення з цієї групи, щоб побачити поведінку всіх інших значень у групі. Зазвичай береться значення в середині групи. У нашому прикладі в нас буде щонайменше 3, а може й 4 варіанти можливої поведінки софту: 1️⃣ 1-17 символів: програма має видати помилку про меншу кількість символів, ніж мінімально допустима. 2️⃣ 18-99 символів: програма має коректно відпрацювати. 3️⃣ 100 і більше символів: програма має видати помилку про більшу кількість символів, ніж максимально допустима. 4️⃣ 0 (залишаємо поле порожнім): програма має видати підказку про необхідність заповнити поле. #️⃣ Boundary Value Analysis (воно ж Аналіз граничних значень) - є ще однією з основних технік тест-дизайну. Головною метою цієї техніки є перевірка дефектів на кордонах еквівалентних класів з минулої техніки, а тому ці дві техніки часто використовуються в парі. Для цього знаходяться і перевіряються самі граничні значення і мінімальні відступи від них на +1 значення і -1 значення. Для нашого прикладу граничними значеннями будуть: 0, 1, 18, 99. А отже, роблячи мінімальні кроки +1 і -1 перевірити потрібно буде 0, 1, 2, 17, 18, 19, 98, 99, 100. З цих значень 0 перетинається з перевіркою з класів еквівалентності, тому два раза таку перевірку робити не потрібно. 👍 У підсумку, скомбінувавши ці дві техніки та відкинувши повторювані значення, отримаємо таку кількість мінімальних перевірок: ➖ 0 або порожнє поле. ➖ Нижню неприпустиму межу: 1. ➖ Нижню неприпустиму межу +1: 2. ➖ Нижню допустиму межу - 1: 17. ➖ Нижню допустиму межу: 18. ➖ Нижню допустиму межу +1: 19. ➖ Верхню допустиму межу -1: 98. ➖ Верхню допустиму межу: 99. ➖ Верхню допустиму межу +1: 100. Для більшої впевненості додаємо ще перевірки в середині наших класів, хоча значення +1 та -1 від граніц і так туди входять: ➖ У середині неприпустимих мінімальних значень 1-17: 9. ➖ У середині допустимих значень: 18-99: 41. ➖ Сильно більше неприпустимого максимального значення: 150. Таким чином, скомбінувавши дві техніки тест-дизайну, можна за мінімальну кількість перевірок і з великою часткою впевненості переконувати, що й решта значень працюватимуть коректно. @Zatishna_Galera
Показать все...
👍 3 2🔥 1🤝 1
00:16
Видео недоступноПоказать в Telegram
Всім нагадую про пʼятницю та моральку. Тримаймося та не розкисаємо! @Zatishna_Galera
Показать все...
IMG_3779.MP45.60 MB
7🔥 5😁 3👍 1
#ЗатишнийDigest 👍 П'ятничний digest новин зі світу IT: APPLE ЗНАЙШЛА МОЖЛИВУ ШПИГУНСЬКУ АТАКУ Так компанія попередила про шпигунську атаку користувачів із 98 країн. Це вже другий випадок за рік подібних масштабів. OPENAI ПРОГНОЗУЮТЬ МІНІМУМ $3.4 МЛРД ДОХОДІВ Саме таку цифру викотили futureresearch, роблячи доповідь про можливі доходи OpenAI за рік. $1.9B за ChatGPT Plus, $714M від ChatGPT Enterprise, $510M від API, і $290M від ChatGPT Team. xAI І ORACLE ЗАВЕРШИЛИ ПЕРЕГОВОРИ ПРО СПІВРОБІТНИЦТВО ПОВНИМ ПРОВАЛОМ Oracle розраховував на $10 млрд. Йшлося про оренду чіпів для ШI та інших потужностей. Але тепер Маск вирішив самостійно купувати чіпи та самостійно зробити суперкомп'ютер. YOUTUBE ОЦІНЮЮТЬ У $455 МЛРД При цьому вартість всієї Alphabet становить приблизно $2,3 трлн. YouTube є вкрай важливим активом у рамках компанії. MICROSOFT І APPLE ВІДМОВЛЯЮТЬСЯ ВІД РОЛІ СПОСТЕРІГАЧІВ Йдеться про раду директорів OpenAI після великої кількості галасу навколо цих призначень. При цьому зустрічі "щоб порадитися" відбуватимуться з представниками компаній регулярно. LUCID MOTORS Б'Є РЕКОРДИ Компанія поставила 2400 EV автомобілів за другий квартал цього року і побила свій рекорд. FOX ЗАПУСКАЄ БЕЗКОШТОВНИЙ СТРІМІНГОВИЙ СЕРВІС Йдеться про Tubi для Великої Британії, який конкуруватиме з Netflix. Усередині сервісу буде присутня реклама. DJI ПРЕДСТАВИЛИ ЕЛЕКТРОВЕЛОСИПЕД Називається це диво Amflow PL. Велосипед буде зроблений з карбону і є гірською моделлю. Потужність - 250 Вт, пікова - 850 Вт. Ємність акумулятора 600 і 850 Вт/год, а вага 19 кг. Коштувати правда буде дорого - від €7 до €12 тисяч. APPLE ДАЛИ ДОБРО НА МАГАЗИН ДОДАТКІВ ВІД EPIC Сталося це не з першої спроби, але все-таки вийшло. Минуле відхилення було через "дизайн кнопок". SAMSUNG ПРОВЕЛИ ПРЕЗЕНТАЦІЮ НОВИХ ДЕВАЙСІВ Samsung Galaxy Unpacked 2024 подарував нам дві нові розкладушки, навушники, годинники дві штуки та нове розумне кільце. Як на мене - цікавеньке. @Zatishna_Galera
Показать все...
👍 5 4🫡 1
Фото недоступноПоказать в Telegram
А у Spotify нова фіча - коментарі до подкасатів. До речі хто слухає подкасти - накидайте годноти Капітану. @Zatishna_Galera
Показать все...
👍 5 1🔥 1👏 1
Фото недоступноПоказать в Telegram
У мобільну середу є у мене новини - пройшов Samsung Galaxy Unpacked 2024. Капітана не дивився, але глянув хайлайти. 📱 Galaxy Z Fold6 і Flip6 - для любителів Android і складних телефонів. Я крутив у руках минулу модельку, прикольно, якби не ОС. Все, як завжди, швидше, краще, потужніше. Ну і звісно ж AI, Galaxy AI! ⌚️ Galaxy Watch7 Watch Ultra - якщо звичайні Watch нічим особливо не примітні, відносно минулого покоління, то ось Ultra - цікаво. Samsung списали у Apple дуже непогано, на мій суб'єктивний погляд. У всякому разі вони хоч виглядають не як шматок какахи. 🎧 Galaxy Buds 3 Pro і Galaxy Buds 3 - ну навушники, ну спасибі. 💍 Galaxy Ring - а ось це цікаво! Коштує дорого, цілих $399, що на $100 дорожче за лідера ринку в особі Oura, але зате без місячної підписки та вміє більше. Є підтримка жестів та має зарядну станцію power-bank. Буду розбиратися, чи працює це диво з Apple екосистемою чи ні. @Zatishna_Galera
Показать все...
👍 9 4🔥 1
Фото недоступноПоказать в Telegram
Не можу не поділитися таким. DataArt, компанія де вже майже 9 років працює Капітан, перевела 1 млн гривень на поміч "Охматдит". Пишаюся працею у такій компанії! @Zatishna_Galera
Показать все...
53🥰 5👍 1💔 1
#iOSКомпас 🧭 5️⃣8️⃣ Завдання 58 Як у Swift влаштована інкапсуляція? З вами знову той самий автор каналу @badlinkschannel. Не забувайте підписатися. А ми продовжуємо наші яблучні історіі. 🤔 Інкапсуляція - це концепція, що полягає в обмеженні доступу до даних і компонентів об'єкта та управлінні взаємодією з цим об'єктом тільки через його інтерфейс. Надає різні рівні доступу для реалізації інкапсуляції, даючи змогу розробникам приховувати деталі реалізації та запобігати ненавмисному використанню внутрішнього стану та поведінки об'єктів. 🔣 Рівні доступу: 1️⃣ Public: Члени класу доступні з будь-якого коду в тому самому модулі та поза ним. Використовується для визначення інтерфейсу публічного API. 2️⃣ Open: Такий самий рівень доступу, як і public, але на додаток дає змогу класам і членам класу бути успадкованими та перевизначеними поза модулем, у якому вони оголошені. 3️⃣ Internal: Члени класу доступні в будь-якому місці коду в їхньому власному модулі або додатку, але недоступні за його межами. Це рівень доступу за замовчуванням. 4️⃣ Fileprivate: Обмежує доступ до членів класу в межах того самого файлу вихідного коду. 5️⃣ Private: Найсуворіший рівень доступу, що обмежує сферу видимості членів класу контекстом, у якому вони оголошені. Починаючи зі Swift 4, private також означає доступність у розширеннях класу в тому самому файлі.

class SomeClass {

    private var privateVariable: Int = 0 // Доступна тільки всередині `SomeClass`
    fileprivate func fileprivateMethod() {} // Доступний у будь-якому місці всередині того ж файлу вихідного коду
    internal func internalMethod() {} // Доступний у будь-якому місці всередині того ж модуля (за замовчуванням)
    public var publicVariable: Int = 0 // Доступна з будь-якого місця в тому самому модулі та із зовнішніх модулів
    open func openMethod() {} // Може бути перевизначений у зовнішніх модулях
}

private class PrivateClass {} // Доступний тільки всередині поточного файлу
#️⃣ Використання різних рівнів доступу дає змогу розробникам точно контролювати, які частини класу або структури можуть бути доступні ззовні і як вони можуть бути використані. Це сприяє створенню чіткого та безпечного API, запобігає неправильному використанню внутрішніх даних і методів, а також полегшує супровід і оновлення коду, оскільки внутрішня реалізація може бути змінена без впливу на зовнішній код, який використовує ці компоненти. @Zatishna_Galera
Показать все...
👍 2🔥 1👏 1
Фото недоступноПоказать в Telegram
Починаємо день з правильних донатів. Підтримуємо Україну! @Zatishna_Galera
Показать все...
22❤‍🔥 1🥰 1
#ЧарівнийКомпас 🧭 1️⃣4️⃣6️⃣ Завдання 146 Написати чек-лист для тестування форми введення даних платіжної картки. Перед постом сьогодні, хочу всім нагадати, наскільки сьогодні важливо підтримувати ЗСУ і продовжувати донатити. Черговий терористичний акт проти нашої країни, чергові смерті цивільних. Рф вміє воювати тільки з мирним населенням, а після навіть не може визнати цього, а поводиться, як гниль. Конвертуємо злість і ненависть у донати та допомогу ЗСУ. Сьогодні починаємо чергову п'ятірку запитань щодо теорії тестування і постараємося навести якомога більше практичних завдань цього разу. А тому подивимося на чек-листи на практиці. 🤔 Нагадаю вам, що чек-лист є верхньорівневим списком перевірок, які обов'язково потрібно провести для перевірки якогось певного функціонала. Чек-лист використовується в тих випадках, коли використання і написання тест-кейсів недоцільне і на нього не вистачає часу. Хороший чек-лист не має бути надлишковим, має покривати всі критичні для функціонала перевірки та має бути послідовним. 🔣 Чек-лист для перевірки функціонала платіжної картки матиме такий вигляд: 🔣 Перевірка основного функціонала: ➖ Заповнити всі обов'язкові поля (номер картки, cvv, термін дії, ПІБ власника картки) і перевірити коректність передавання даних та здійснення оплати. ➖ Заповнити всі обов'язкові (номер картки, cvv, термін дії, ПІБ власника картки) та необов'язкові поля (наприклад, email, коментар) і перевірити коректність передачі даних та здійснення оплати. Перевірити доставку квитанції про оплату на відповідну пошту. 🔣 Перевірка негативних сценаріїв: ➖ Перевірити, що при введенні некоректних даних для кожного поля (номер картки, cvv, термін дії, ПІБ власника картки, коментар, email) з'являється відповідна помилка. ➖ Перевірити, що без заповнення обов'язкових полів (номер картки, cvv, термін дії, ПІБ власника картки) здійснити операцію неможливо і з'являється відповідна помилка. 🔣 Перевірка окремо взятих полів: ➖ Перевірити всі обмеження поля "Номер картки": приймання тільки цифрових значень, перевірити необхідність введення 16 цифр і помилку в іншому разі, перевірити автоматичне розбиття на блоки по 4 цифри, якщо такий функціонал присутній. ➖ Перевірити всі обмеження поля "Термін дії": приймання тільки цифрових значень у форматі ММ/YY, перевірити помилку під час уведення даних із минулого, перевірити неможливість уведення некоректних даних про місяці (наприклад, 00 або 13). ➖ Перевірити всі обмеження поля "CVV/CVC": приймання тільки цифрових значень, перевірка обмеження в 3 або 4 цифри (залежно від типу картки). ➖ Перевірити всі обмеження поля "Власник картки": перевірити приймання тільки відповідних текстових форматів (залежить від типу підтримуваних карток, але здебільшого це латиниця), перевірити обмеження на кількість символів, перевірити помилку в разі введення неприпустимих символів або їх неприпустимої кількості. ➖ Перевірити додаткові поля: тут перевірки можуть варіюватися від вимог до цих додаткових полів і їх наявності, Капітан цей пункт опустить. 🔣 Перевірка UX/UI: ➖ Перевірити, що всі поля та їх назви відображаються правильно у всіх підтримуваних браузерах і на всіх пристроях. ➖ Перевірити відображення помилок у різних браузерах і на різних пристроях ➖ Перевірити, що кнопка "Відправити" неактивна до заповнення всіх обов'язкових полів (якщо такий функціонал є). 🔣 Інші перевірки: ➖ Перевірити, що заповнення форми відбувається тільки через HTTPS з'єднання. ➖ Перевірити, що дані картки не зберігаються в логах. ➖ Перевірити, що поля очищаються після відправлення даних для оплати. ➖ Перевірити, що форма несхильна до XSS та SQL атак. ➖ Перевірити локалізацію, якщо вона є. Це тільки частина того, що можна включити в чек-лист для перевірки функціонала платіжних карт. Його можна як розширити, так і навпаки зменшити, залежно від кількості часу на його тестування. @Zatishna_Galera
Показать все...
👍 8 3🤩 1💔 1
00:14
Видео недоступноПоказать в Telegram
Десь так я вриваюсь у пʼятницю. Ось для чого потрібен ШI. Приводьте моральку у норму. @Zatishna_Galera
Показать все...
mdk.mp42.37 MB
😁 18👍 1👎 1🔥 1
Выберите другой тариф

Ваш текущий тарифный план позволяет посмотреть аналитику только 5 каналов. Чтобы получить больше, выберите другой план.