Урок 2. Створюємо перший проєкт

Створення проєкту

Для створення проєкту обираємо опцію «Створити проєкт» (Create a new project)

Create a new project

Далі обираємо тип проєкту. В нашому випадку – це звичайний консольний додаток (Python application).

Choose Python App option

Далі вносимо базові дані для проєкту, наприклад назву, місце зберігання тощо.

Configure project

В результаті наш проєкт створено.

Project created

Синтаксис Python

Відступ Python грає важливу роль. Відступ відноситься до пробілів на початку рядка коду. Якщо в інших мовах програмування відступи в коді призначені лише для зручності читання, у Python відступи дуже важливі.

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

Змінні Python

У Python змінні створюються, коли ви присвоюєте їм значення:

variableNum1 = 10
varibleString1 = "Who is the one who knocks?"
print(variableNum1, " ", varibleString1)

Python не має команди для оголошення змінної. В цьому прикладі ми створюємо змінну variableNum1, якій присвоюємо значення 10. Далі створюємо змінну variableString1, якій присвоюємо рядкове значення «Who is the one who knocks?». Далі за допомогою функції print виводимо змінні на консоль, додаючи при цьому через кому окрім змінних ще й пробіл, щоб дані не зливалися.

Коментарі Python

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

Створення коментаря. Коментарі починаються з #, і Python їх ігноруватиме. Коментарі можна розміщувати в кінці рядка, і Python ігноруватиме решту рядка. Коментар не обов’язково має бути текстом, що пояснює код, він також може бути використаний, щоб запобігти Python виконувати код.

#Creation of varableNum2
variableNum2 = 15
print(variableNum2) #printing variableNum2

#Module for
#calculation and
#analysis of cost of sales
print("Cost of Sales analysis Report")

Багаторядкові коментарі. Python насправді не має синтаксису для багаторядкових коментарів. Щоб додати багаторядковий коментар, ви можете вставити #для кожного рядка.

Або, не зовсім за призначенням, ви можете використати багаторядковий рядок. Оскільки Python ігноруватиме рядкові літерали, які не призначені змінній, ви можете додати багаторядковий рядок (потрійні лапки) у свій код і розмістити в ньому свій коментар. Поки рядок не присвоєно змінній, Python читатиме код, але потім ігноруватиме його, і ви створите багаторядковий коментар.

"""
Module for
#calculation and
#analysis of cost of sales
"""
print("Cost of Sales analysis Report")
Створення проєкту

В цьому відео поговоримо про:
00:23 Створення проєкту у Visual Studio Community
01:17 Синтакс Python
04:33 Коментарі у Python

Приклади на Github

Урок 1. Мова Python

Python є популярною мовою програмування. Він був створений Гвідо ван Россумом і вийшов у 1991 році.

Ця мова програмування використовується для:

  • веб-розробки (на стороні сервера),
  • розробки програмного забезпечення,
  • розрахунках,
  • системних сценаріях.

Можливості Python

  • Python можна використовувати на сервері для створення веб-додатків.
  • Python можна використовувати разом із програмним забезпеченням для створення робочих процесів.
  • Python може підключатися до систем баз даних. Він також може читати та змінювати файли.
  • Python можна використовувати для обробки великих даних і виконання складних розрахунків.
  • Python можна використовувати для швидкого створення прототипів або для розробки готового програмного забезпечення.

Аргументи на користь Python

  • Python працює на різних платформах (Windows, Mac, Linux тощо).
  • Python має простий синтаксис, який є подібним до англійської мови.
  • Синтаксис Python дозволяє розробникам писати програми з меншою кількістю рядків, ніж деякі інші мови програмування.
  • Python працює в системі інтерпретатора, тобто код може бути виконаний відразу після його написання. Це загалом пришвидшує прототипування.
  • Python передбачає можливість застосування трьох ключових підходів до програмування, себто  процедурного, об’єктно-орієнтованого або функціонального.

Python версії

Наразі основною версією Python є Python 3, яку власне і будемо розглядати в межах цього курсу. Однак версія Python 2 є все ще досить популярною.

Синтаксичні відмінності Python

  • Python був розроблений для читабельності та має деякі подібності до англійської мови з впливом математики.
  • Python використовує нові рядки для завершення команди, на відміну від інших мов програмування, які часто використовують крапку з комою або круглі дужки.
  • Python покладається на відступи, використовуючи пробіли, щоб визначити область; такі як область циклів, функцій і класів. Інші мови програмування часто використовують для цієї мети фігурні дужки.

Встановлення Python

На багатьох комп’ютерах ПК і Mac вже буде встановлено Python.

Щоб перевірити, чи інстальовано python на комп’ютері з ОС Windows, знайдіть Python на панелі запуску або запустіть у командному рядку (cmd.exe): python –version .

Щоб перевірити, чи встановлено у вас python на Linux чи Mac, у відкрийте термінал і введіть: python –version .

Якщо ви виявите, що на вашому комп’ютері не встановлено Python, ви можете завантажити його безкоштовно з офіційного веб-сайту мови Python.

На цьому скріні приклад введення відповідної команди в командному рядку Windows.

Checking Python version in Windows command line.

На цьому скріні приклад введення відповідної команди в терміналі Linux Ubuntu.

Checking Python version in Linux Ubuntu.

Сайт мови програмування Python, з якого ви можете завантажити файл інсталяції, а також знайти багато цікавої інформації про саму мову.

Сайт мови Python

Альтернативи встановлення

Сайт Rextester містить цілу низку онлайн компіляторів для різних мов програмування. Якщо нема можливості встановлювати IDE, але є бажання отримати базову практику та попрацювати з мовою програмування, то це непоганий варіант. Тут можна працювати навіть без логіна. Але є певні функціональні обмеження. Тим не менше нескладний консольний додаток цілком можливо написати.

Сайт Rextester

Сайт Repplit пропонує цілу низку онлайн компіляторів для різних мов програмування. Є подібна опція і для мови програмування Python.
Однак потрібно створити аккаунт на сайті. Є також безкоштовна опція користування. Сподіваюсь вона буде збережена.

Сайт Repplit

Варіанти IDE

Visual Studio Code є цілком прийнятною опцією. Для більш повноцінної роботи доведеться встановити розширення Python.

Visual Studio Code

Скрін для встановлення розширення у Visual Studio Code.

Розширення Python для Visual Studio Code

Visual Studio Community цілком пристойний вибір для навчання з великою кількістю функціоналу. Однак портребуватиме значного місця на диску і певного рівня потужності комп’ютера для комфортної роботи. Саме цим IDE будемо користуватися в цьому курсі.

Visual Studio Community

Після завантаження інсталятора обираємо опцію Python з наявних і встановлюємо.

Python у Visual Studio Community

В цьому відео поговоримо про мову Python.
00:55 Мова Python
01:39 Можливості Python
02:47 Аргументи на користь Python
04:04 Версії Python
04:31 Синтаксичні відмінності Python
05:37 Встановлення Python
09:05 Ресурси для практики написання коду

Мова Python

ISTQB Certified Tester Foundation Level. Курс для початківців. Розділ 6. Практика.

В цьому відео робиться спроба розібрати кілька десятків питань по шостому розділу сілабусу ISTQB CTFL.

ISTQB Certified Tester Foundation Level. Курс для початківців. Розділ 6. Практика.

Всі питання з відео з правильними відповідями наводяться нижче.

Question 1

Which of the following is likely to benefit most from the use of test tools providing test capture and replay facilities?

  1. Integration testing.
  2. System testing.
  3. User acceptance testing.
  4. Regression testing.

Question 2

Which of the following benefits are MOST likely to be achieved by using test tools?
(i) Easy to access information about tests and testing.
(ii) Reduced maintenance of testware.
(iii) Easy and cheap to implement.
(iv) Greater consistency of tests.

  1. ii and iv
  2. ii and iii
  3. i and iv
  4. i and iii

Question 3

A company recently purchased a commercial off-the-shelf application to automate their bill-paying process. They now plan to run an acceptance test against the package prior to putting it into production. Which of the following is their most likely reason for testing?

  1. To detect bugs in the application.
  2. To gather evidence for a lawsuit.
  3. To build confidence in the application.
  4. To train the users.

Question 4

A tool that supports traceability, recording of incidents or scheduling of tests is called:

  1. A debugging tool.
  2. A test execution tool.
  3. A dynamic analysis tool.
  4. A test management tool.

Question 5

A typical commercial test execution tool would be able to perform all of the following EXCEPT:

  1. comparison of expected outcomes with actual outcomes.
  2. reading test values from a data file.
  3. generating expected outputs.
  4. recording test inputs.

Question 6

Capture and replay facilities are least likely to be used to:

  1. Recovery testing
  2. GUI testing
  3. User requirements.
  4. Performance testing

Question 7

When an organization considers the use of testing tools, they should:

  1. Use a tool in order to help define a good test process because the tool will force process repeatability and therefore enforce good test process.
  2. Always start by bringing in automated test execution tools as these tools have the greatest return on investment and therefore should be introduced first.
  3. Perform analysis of the test process and then assess whether it can be supported through the introduction of tool support.
  4. Allow the developers to select the testing tools because tools are technical and developers have the appropriate skills to advise on test tool selection and configuration.

Question 8

From the list below, select the recommended principles for introducing a chosen test tool in an organization?
1. Roll the tool out to the entire organization at the same time.
2. Start with a pilot project.
3. Adapt and improve processes to fit the use of the tool.
4. Provide training and coaching for new users.
5. Let each team decide their own standard ways of using the tool.
6. Monitor that costs do not exceed initial acquisition cost.
7. Gather lessons learned from all teams.

  1. 1, 2, 3, 5.
  2. 2, 3, 4, 7
  3. 1, 4, 6, 7.
  4. 3, 4, 5, 6.

Question 9

Which of the following would NOT be a typical target of testing support tools?

  1. Automate activities that require significant resources when done manually
  2. Automate activities that cannot be executed manually
  3. Automate repetitive tasks
  4. Automating repetitive inspections

Question 10

The place to start if you want a (new) test tool is:

  1. Invite a vendor to give a demo.
  2. Find out what your budget would be for the tool.
  3. Analyze your needs and requirements.
  4. Attend a tool exhibition.

Question 11

Given the following types of tool, which tools would typically be used by developers and which by an independent test team:
(i.) static analysis.
(ii.) performance testing.
(iii.) test management.
(iv.) dynamic analysis.
(v.) test running.
(vi.) test data preparation.

  1. developers would typically use ii, iv and vi; test team I, ii and v.
  2. developers would typically use i and iv; test team ii, iii, v and vi.
  3. developers would typically use i, iii, iv and v; test team ii and vi.
  4. developers would typically use i, iv and vi; test team ii, iii and v.

Question 12

A data driven approach to test automation design is best described as:

  1. Using action words to describe the actions to be taken, and the test data.
  2. Scaling to support large numbers of users.
  3. Being based on Equivalence Partitioning testing techniques.
  4. Separating out the test data inputs and using a generic script that can real the test data and perform the same test steps with different data.

Question 13

What are the potential benefits from using tools in general to support testing?

  1. Greater responsiveness of users, reduction of tests run, objectives not necessary.
  2. Greater repeatability of tests, reduction in repetitive work, objective assessment.
  3. Greater quality of code, reduction in paperwork, fewer objections to the tests.
  4. Greater quality of code, reduction in the number of testers needed, better objectives for testing.

Question 14

Dynamic Analysis Tools are used to:

  1. Determine differences between files or databases.
  2. Monitor and report on how a system behaves under a variety of conditions.
  3. Find defects, such as memory leaks, while software is executing.
  4. Measure the percentage of specific types of code structure that have been exercised.

Question 15

What is a potential risk in using tools to support testing?

  1. The tool will repeat exactly the same thing it did the previous time.
  2. Insufficient reliance on the tool, i.e. still doing manual testing when a test execution tool has been purchased.
  3. Unrealistic expectations, expecting the tool to do too much.
  4. The tool may find defects that aren’t there.

Question 16

What type of tools to be used for Regression Testing

  1. Performance
  2. Record/Playback
  3. A. & B.
  4. None

Question 17

Which of the following activities should be performed during the selection and implementation of a testing tool?
(i) Investigate the organisation’s test process.
(ii) Conduct a proof of concept.
(iii) Implement the selected tool on a project behind schedule to save time.
(iv) Identify coaching and mentoring requirements for the use of the selected tool.

  1. i, ii, iii.
  2. i, ii, iv.
  3. ii, iii, iv.
  4. i, iii, iv.

Question 18

Which of the following are advanced scripting techniques for test execution tools?

  1. Playback-driven and keyword-driven
  2. Data-driven and capture-driven
  3. Data-driven and keyword-driven
  4. Capture-driven and keyhole-driven

Question 19

Which of the following are potential benefits of adding tools to the test process?
(I.) Reduction of repetitive testing procedures.
(II. )Ability to hire testers with fewer technical skills.
(III.) Ability to get an objective assessment of progress.
(IV.) Greater consistency in testing procedures.

  1. II, III and IV
  2. I, II and III
  3. I, III and IV
  4. I, II and IV

Question 20

Which of the following is likely to benefit most from the use of test tools providing test capture and replay facilities?

  1. Integration testing.
  2. System testing.
  3. User acceptance testing.
  4. Regression testing.

Question 21

Which of the following are potential benefits of using test support tools?

  1. Reducing repetitive work and gaining easy access to test information
  2. Ensuring greater consistency and minimizing software project risks
  3. Allowing for greater reliance on the tool to automate the test process
  4. Performing objective assessment and reducing the need for training

ISTQB Certified Tester Foundation Level. Курс для початківців. Секція 6.2.

Основні принципи обрання інструментів (версія 3.1)

Основні міркування при виборі інструменту для організації включають:

  • Оцінка зрілості власної організації, її сильних і слабких сторін
  • Виявлення можливостей для вдосконалення процесу тестування, що підтримується інструментами
  • Розуміння технологій, які використовуються об’єктом тестування, для вибору інструменту, сумісного з цією технологією
  • Розуміння інструментів побудови та постійної інтеграції, які вже використовуються в організації, щоб забезпечити сумісність та інтеграцію інструментів
  • Оцінка інструменту за чіткими вимогами та об’єктивними критеріями
  • Розгляд того, чи доступний інструмент для безкоштовного пробного періоду (і як довго)
  • Оцінка постачальника (включно з навчанням, підтримкою та комерційними аспектами) або підтримка некомерційних (наприклад, з відкритим кодом) інструментів
  • Визначення внутрішніх вимог до коучингу та менторства у використанні інструменту
  • Оцінка потреб у навчанні, враховуючи навички тестування (та автоматизації тестування) тих, хто працюватиме безпосередньо з інструментами
  • Розгляд переваг і недоліків різних моделей ліцензування (наприклад, комерційних або з відкритим кодом)
  • Оцінка співвідношення витрат і вигод на основі конкретного бізнес-кейсу (за потреби)

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

Пілотні проєкти під час впровадження інструмента в організації (версія 3.1)

Після завершення вибору інструменту та успішного підтвердження концепції впровадження обраного інструменту в організації зазвичай починається з пілотного проєкту, який має такі цілі:

  • Отримання глибоких знань про інструмент, розуміння як його сильних, так і слабких сторін
  • Оцінка того, як інструмент відповідає існуючим процесам і практикам, і визначення того, що потрібно змінити
  • Прийняття стандартних способів використання, керування, зберігання та обслуговування інструменту та продуктів тестування (наприклад, прийняття рішення щодо іменування файлів і тестів, вибір стандартів кодування, створення бібліотек і визначення модульності наборів тестів)
  • Оцінка того, чи будуть отримані вигоди за розумних витрат
  • Розуміння показників, які ви бажаєте, щоб інструмент збирав і звітував, а також налаштування інструменту, щоб ці показники можна було фіксувати та звітувати

Фактори успіху при обранні інструменту (версія 3.1)

Фактори успіху для оцінки, впровадження, розгортання та постійної підтримки інструментів в організації включають:

  • Поступове розгортання інструменту для решти організації
  • Адаптація та вдосконалення процесів відповідно до використання інструменту
  • Проведення тренінгів, інструктажу та наставництва для користувачів інструментів
  • Визначення вказівок щодо використання інструменту (наприклад, внутрішні стандарти для автоматизації)
  • Реалізація способу збору інформації про використання під час фактичного використання інструменту
  • Використання інструментів моніторингу та переваги
  • Надання підтримки користувачам даного інструменту
  • Збір уроків, отриманих від усіх користувачів

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

ISTQB Certified Tester Foundation Level. Курс для початківців. Секція 6.2.

В цьому відео починаємо працювати з секцію 6.2.
00:00:45 Main Principles for Tool Selection (V 3.1)
00:12:21 Pilot Projects for Introducing a Tool into an Organization (V 3.1)
00:15:47 Success Factors for Tools (V 3.1)