QARocks. Тестировщик Рулит 🐞
17.5K subscribers
751 photos
53 videos
4 files
1.02K links
Тестировщик рулит - всё о тестировании ПО.

Туториалы, книги по QA, тесты для проверки ваших знаний, разбор вопросов с собеседования.

@anothertechrock @viktorreh

РКН: https://rknn.link/cSK
Download Telegram
# sum_of_numbers.py
def calculate_sum(N):
return sum(range(1, N + 1))

# test_sum_of_numbers.py
import pytest
from sum_of_numbers import calculate_sum

def test_calculate_sum_positive():
assert calculate_sum(5) == 15

def test_calculate_sum_negative():
assert calculate_sum(-5) == 0

def test_calculate_sum_zero():
assert calculate_sum(0) == 0

def test_calculate_sum_large():
assert calculate_sum(100) == 5050

В этом примере функция calculate_sum принимает число N, затем использует функцию sum и range для подсчета суммы чисел от 1 до N. Тесты проверяют правильность работы функции для различных входных данных.

#задача #автоматизация #python #pytest
👍12
#задача #автоматизация #python #pytest

Задачка: Подсчет суммы четных чисел
Напишите функцию calculate_even_sum(), которая принимает на вход список чисел и возвращает сумму всех четных чисел в этом списке.

Напишите также тесты с использованием pytest, чтобы проверить правильность работы функции на разных входных данных.

Пишите ваши варианты в комментариях. Ответ будет в канале сегодня вечером.
👍5
# calculate_even_sum.py
def calculate_even_sum(numbers):
return sum(num for num in numbers if num % 2 == 0)

# test_calculate_even_sum.py
import pytest
from calculate_even_sum import calculate_even_sum

def test_positive_numbers():
assert calculate_even_sum([1, 2, 3, 4, 5]) == 6
assert calculate_even_sum([10, 20, 30, 40, 50]) == 150

def test_negative_numbers():
assert calculate_even_sum([-1, -2, -3, -4, -5]) == -6
assert calculate_even_sum([-10, -20, -30, -40, -50]) == -150

def test_mixed_numbers():
assert calculate_even_sum([-5, 10, -3, 8, 2]) == 20
assert calculate_even_sum([0, 0, 0, 0, 0]) == 0

def test_empty_list():
assert calculate_even_sum([]) == 0

def test_no_even_numbers():
assert calculate_even_sum([1, 3, 5, 7, 9]) == 0

В этом примере функция calculate_even_sum() принимает список целых чисел и возвращает сумму только четных чисел, проверяя для этого элементы списка на четность.Тесты проверяют правильность работы функции для различных входных данных.

#задача #автоматизация #python #pytest
👍14
#задача #автоматизация #python #pytest

Задачка: Палиндромное число
Напишите функцию is_palindrome(), которая принимает на вход число и проверяет, является ли оно палиндромом. Палиндромом называется число, которое одинаково читается слева направо и справа налево.

Напишите также тесты с использованием pytest, чтобы проверить правильность работы функции на разных входных данных.

Пишите ваши варианты в комментариях. Ответ будет в канале сегодня вечером.
👍6
# is_palindrome.py
def is_palindrome(number):
number_str = str(number)
return number_str == number_str[::-1]

# test_is_palindrome.py
import pytest

from palindrome import is_palindrome

def test_positive_palindrome():
assert is_palindrome(121) == True
assert is_palindrome(1221) == True

def test_negative_palindrome():
assert is_palindrome(123) == False
assert is_palindrome(12321) == False

def test_single_digit():
assert is_palindrome(9) == True

def test_negative_number():
assert is_palindrome(-121) == False

def test_large_palindrome():
assert is_palindrome(12345678987654321) == True

def test_empty_input():
with pytest.raises(ValueError):
is_palindrome('')

def test_string_input():
with pytest.raises(ValueError):
is_palindrome('hello')

def test_float_input():
with pytest.raises(ValueError):
is_palindrome(12.21)

В этом примере функция is_palindrom() принимает число, преобразует его в строку и далее сравнивает эту строку с этой же строкой, но записанной в обратном порядке. Если они равны, возвращается True, в противном случае False. Тесты проверяют правильность работы функции для различных входных данных.

#задача #автоматизация #python #pytest
👍9