LINUX.ORG.RU

Зачем вообще нужно тестирование

 ,


0

1

Код:

def readfile_reverse(inf, ouf):
    for line in inf.readlines()[::-1]:
        ouf.write(line)

Тест:

import pytest
import sys
from os import getcwd, path
from quiz244 import readfile_reverse

@pytest.fixture
def file_quiz244_in():
    with open(path.join(getcwd(), "test", ".data", "quiz244_in.txt")) as tinf:
        yield tinf

@pytest.fixture
def file_quiz244_out():
    with open(path.join(getcwd(), "test", ".data", "quiz244_out.txt")) as touf:
        yield touf

def test_readfile_reverse(capsys, file_quiz244_in, file_quiz244_out):
    readfile_reverse(file_quiz244_in, sys.stdout)
    capture = capsys.readouterr()
    assert("".join(file_quiz244_out.readlines()) == capture.out)

Пример надуманный, конечно. Но... кому вообще нужно модульное тестирование? Да и тестировщики в частности... Зачем они? Программист лучше знает, что у него с приложением не так, если делал проект с нуля.

Ответ на: комментарий от chenbr0

тролль, покусанный тестировщиками

Я тестировщик, я кусаю кодеров.

istqb foundation level

Мне этого хватило, которое является кривым сжатым переводом ISTQB basic level. Чуть не сдох от скуки пока проходил.

gentoo1love ()

Капитализм, товарищ. Для того, чтобы получать деньги, нужна _солидная фирма. Чтобы придать фирме солидности, нанимаются бесполезные люди.

lenin386 ★★★ ()
Ответ на: комментарий от gentoo1love

то есть ты занимаешься тем, что считаешь не нужным? хм, не смог осилить 100 страниц полного курса? там кстати, есть ответ на твой вопрос он ненужности\нужности. про экзамен я даже спрашивать не буду, вот что собственно, стоит знать о твоей заинтересованности в профессии.

chenbr0 ()
Ответ на: комментарий от chenbr0

то есть ты занимаешься тем, что считаешь не нужным?

Понимашь в чём фигня, товарищ. Все занимаются тем, что не считают нужным. Просто одни убедили себя, что это нужно и круто (либо их убедили, что более вероятно), а другие называют вещи своими именами.

lenin386 ★★★ ()
Последнее исправление: lenin386 (всего исправлений: 1)
Ответ на: комментарий от chenbr0

Сертификация тестировщиков в РФ не нужна. Тут своя атмосфера. Эта бумажка имеет смысол, если ты хочется сделать свалинг на тракторе.

gentoo1love ()
Ответ на: комментарий от chenbr0

про экзамен я даже спрашивать не буду, вот что собственно, стоит знать о твоей заинтересованности в профессии

Я лучше на эти 150 евро нажрусь в хламину.

gentoo1love ()

Вообще-то модульные тесты пишет программист для проверки своих функций/классов/интерфейсов. Тестировщик, если уж на то пошло, как правило занимается end-to-end или интеграционными тестами.

Если вкратце о юнит-тестах — они больше всего помогают самому же программисту. При грамотном покрытии с ними тривиально отслеживаются и предотвращаются регрессии, когда что-то работало и вдруг перестало после каких-то изменений.

env ★★☆ ()
Ответ на: комментарий от env

При грамотном покрытии с ними тривиально отслеживаются и предотвращаются регрессии

Кто тебя убедил в этом? Пруфов не было? Я вот уверен, что более чем в половине случаев при `грамотном написании кода` зафейлившийся тест выкидывали, а код оставляли. Но пруфов опять же не будет, потому что... а кому это надо. Тестирование такое тестирование.

gentoo1love ()
Ответ на: комментарий от env

При грамотном покрытии

Товарищ. В реальной жизни, полное покрытие не возможно всегда. А «грамотное» покрытие - это фантазии.

lenin386 ★★★ ()
Ответ на: комментарий от gentoo1love

Кто тебя убедил в этом?

Не «кто», а что. Опыт убедил, что юнити тесты помогают, и это как бы уже лет 20 как не предмет дискуссий. Если ты конечно профессионал и ценишь своё время.

env ★★☆ ()
Ответ на: комментарий от env

профессионал и ценишь своё время

нет и нет. Иначе не сидел бы в Talks

gentoo1love ()
Ответ на: комментарий от gentoo1love

О, ну раз тебе виднее, то не вижу смысла дальше спорить. Дураков на ЛОРе полно, сразу и не разберёшь ваши сорта.

env ★★☆ ()
Последнее исправление: env (всего исправлений: 1)

кому вообще нужно модульное тестирование?

команде программистов

Программист лучше знает, что у него с приложением не так, если делал проект с нуля.

он его не делал с нуля, он пришёл в команду, и, более, того, он знает не всё приложение, а 1/N часть приложения, где N - число таких же активных, как и он, людей в команде

в опенсорс проектах проблема стоит даже острее, чем проприетарных

Если что-то серьезное, то в нормальном языке программирования

если это типичный коммерческий проект, то там, как минимум, будет sql, т.е. языка будет 2, из которых нормальных, в лучшем случае, только половина

кстати о БД: любая БД добавляет глобальное состояние в ПО, сильно утрируя, но с тысячами, средствами компиляторов никак не контролируемыми, глобальных состояний по всему проекту и если юзать её «в лоб», без ORM, то со всеми вытекающими отсюда последствиями

next_time ★★★★ ()

Программист лучше знает, что у него с приложением

Для обнаружения случаев, когда это ему только кажется?

Или даже лучше: тесты - успокоительное для программистов, подавляет обеспокоенность тем, чтобы всегда «знать, что там с приложением», и т.о. лучше концентрировать ограниченные ресурсы мозга на более конструктивных задачах.

если делал проект с нуля

Если программисты дороже тестировшиков — не окупается.

DonkeyHot ★★★★★ ()

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

slovazap ★★★★★ ()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)