• Как готовиться к олимпиадам?

    @tomatho
    Не знаю на счёт других областей, так что пишу только про ACM ICPC и смежные (похожие) так:
    Чтоб стать крутым, надо ежедневно по 2-3 часа минимум решать задачи в день.
    На всевозможных сайтах агрегаторах задач типа codeforces.ru, opencup.ru, topcoder.com, google codejam, acm.timus.ru и много много других.
    Участвовать во всех проходящих онлайн соревнованиях.

    Напоминает правило 10 тысяч часов. Есть такое мнение, что люди становятся профессионалами не из-за таланта, а по факту вложения человеко-часов в своё занятие.
    Однако, есть и уникумы, по типу Геннадия Короткевича (загугли, почитай).
    Лучшим в любой области стать почти невозможно. Однако шанс есть.

    Я дальше полуфинала ACM ICPC не проходил, так как был слишком ленив и решал задачи пару раз в месяц.
    Ах, совсем забыл: для чемпионства важен опытный тренер. Чтобы не тратить время на всякую чушь, и эффективнее "качаться".

    Ещё: я бы предпочел обсуждение с матёрым олимпиадником конкретного алгоритма, чем чтение литературы по онному. Очень важно скорость написания алгоритма, и легкая запоминаемость. Какие-то приёмы по его хорошему модифицированию, если в задаче требуется его мелкая модификация. Чтение кода лидеров тоже не повредит, чтобы понять как элегантнее написать.

    Многие простейшие алгоритмы можно написать элегантно и быстро, а можно долго мозговать а тут +1 индекс, или -1. А тут надо сколько прибавить? А условие <= или <. Очень много нюансов.
    Так же не повредит психологическая подготовка, если тренер могёт. Так как например меня трижды клинило на ответственных соревнованиях. Дважды на полуфинале ACM ICPC: сидишь как бревно, ничего не соображаешь, переволновался. И один раз на ВКОШП.
    Потом как только соревнование кончается (время закончилось), так сразу спадает волнение и начинаешь смотреть на задачи и думать: Что?!?! И это я не смог решить?!?!
    Ответ написан
    1 комментарий
  • Ответственность за баги при нетривиальном поведении?

    lxsmkv
    @lxsmkv
    Test automation engineer
    я тестировал это все 1000 раз но эту комбинацию в голову не пришло сделать

    может имеет смысл принять на вооружение методику pairwise и инструмент PICT.
    По этой теме есть доклады, вот один из них для примера https://www.youtube.com/watch?v=Bqmuw3ZJ75g
    Цель методики заключается в том чтобы из бесчисленного количества возможных комбинаций выбрать те которые обеспечат максимальное покрытие, при минимальном наборе тестов.
    P.S. ну и автоматизация тестирования в обязательном порядке, если ее еще нет.
    Ответ написан
    Комментировать
  • Как называется такой подход к разработке, тестировани и баг-фиксу?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Спонтанное, не систематизированное "протыкивание" программы с целью нахождения дефектов называется ad-hoc testing
    Ответ написан
    Комментировать
  • Как правильно писать Unit Test к ASP.NET MVC?

    @Free_ze
    Пишу комментарии в комментарии, а не в ответы
    Нужно настраивать моки. Они по умолчанию возвращают default-значение требуемого типа. Таким образом внутри AddCategory мок репозитория всегда дает result == null и, соответственно, null возвращается, тест падает.

    var model = new CategoryModel { ... };
    
    var categoryModelRepository = new Mock<ICategoryModelRepository>();
    
    categoryModelRepository.Setup(x => x.AddCategory(model))
                                                .Returns(model);
    // Или
    categoryModelRepository.Setup(x => x.AddCategory( It.IsAny<CategoryModel>() ))
                                                .Returns(model);
    
    // Act...
    
    Assert.IsNotNull(result);
    Ответ написан
    7 комментариев
  • Есть ли уроки по Selenium Web Driver ASP.NET MVC?

    @Free_ze
    Пишу комментарии в комментарии, а не в ответы
    Недавно в это погружался)

    Ничего лучше этого не нашел. Но этого, официального референса и пары уже имеющихся тестов хватило, чтобы разобраться. На пару вечеров экспериментов.
    Ответ написан
    1 комментарий