среда, 22 февраля 2012 г.

Quality Assurance Day - узнай о фишках Visual Studio 2011 первым!

Ежегодная конференция Quality Assurance Day'12 пройдет в Москве в третий раз. Профессионалы, которым небезразлично качество ПО, соберутся, чтобы обсудить процессы, методы и инструменты, необходимые для создания качественного, а значит более надежного, удобного и функционального ПО.


Качество – один из главнейших факторов успеха любого программного обеспечения. 

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

Индустрия накопила немало опыта в этой области, и использование этих наработок может помочь решить многие вопросы. Вот почему 30 марта компания Microsoft совместно с CareerLab вот уже в третий раз проводит конференцию Quality Assurance Day – конференцию для тех, кому небезразлично качество ПО.

На этот раз команда организаторов значительно расширила содержательную часть конференции. Основная цель которую мы преследовали — сделать индустриальное мероприятие посвящённое вопросам качества.

Приглашен один из известнейших гуру в области обеспечения качества и организации тестирования – Рекс Блек

Рекс является одним из самых успешных авторов, спикеров и практиков в индустрии. К слову, его последняя книга «Managing the Testing Process» разошлась тиражом в более чем 25 000 экземпляров. Его 30 летняя карьера в тестировании, включает в себя такие должности как почетный президент организаций ASTQB и ISTQB. Сейчас Рекс занимает должность президента компании RBCS, Inc. мирового лидера в области программного, аппаратного и системного тестирования. 

В конференции примут участие эксперты из компаний Microsoft, Intel, Performance Lab, Parallels,Quest Software, Sela.

Запланировано три потока докладов для тестировщиков, разработчиков и их руководителей. Участники конференции одними из первых в России получат возможность узнать о новых возможностях среды тестирования Visual Studio Test Professional 2011, о методах тестирования приложений для Windows 8, и новых технологиях Unit тестирования в Visual Studio11.

Планируется очень интересный трек по процессам и управлению тестированием. Вы узнаете о том как измерять и оценивать эффективность и трудозатраты тестирования, об основных заблуждениях в области обеспечения качества.

Ребята! Рекс Блэк!! Я как раз его книжку читаю :)
Это же мегаклева!!!

А тем, кто зарегистрируется до 1 марта, еще и цена абсолютно не кусачая - всего 2000 р. За столько интересных докладов! Торопитесь, регистрируйтесь, и до встречи на конференции! :)

Я выиграла!

А что это я молчу, собственно?)
УРА, я заняла третье место в номинации "лучший докладчик автоконфетки"!!!
Пруфлинк - http://confetqa.ru/luchshie-doklady-auto-confetqa-2012/


Пошла я наперекор всем "правилам". Была единственной девушкой-автоматизатором (из докладчиков, не вообще), рассказывала о том, как писать тесты на русском языке и скромно помалкивала там, где остальные докладчики расхваливали свой опыт.

Я в автоматизации не 6 лет, и даже не 5 :)
И вообще, "меньше знаешь, крепче спишь". Автоматизатор и автоматизатор )))

Так вот. Рассказала я о том, как можно написать легко-читабельные тесты. Которые, кстати, можно даже заказчику показать. Если он русский. Возможно, я даже расскажу про логирование или создание волшебной кнопочки "сделать все хорошо" на следующей конфетке.

И получу Xbox! :)

Выслушаю пожелания по теме доклада автоматизации веб-приложения на языке C# !

понедельник, 20 февраля 2012 г.

Подготовка автотеста для проверки Системы Безопасности

Как протестировать систему безопасности?
1.    Выдать пользователю роль;
2.    Зайти под ним в систему;
3.    Зайти в проверяемый модуль;
4.    Профит! В смысле, сам тест
Первые три пункта весьма удручают при ручном тестировании. А еще сильнее – при автоматизированном. Ведь мы делаем автотесты, чтобы облегчить свою жизнь, создать возможность прогнать большее число тестов за меньшее время…
Поэтому первый пункт желательно выкинуть из GUI, а настраивать прямо через базу. Ведь он может много времени занять: зайти под мега-супер-админом, найти в системе нужного пользователя, удалить все его старые роли, выдать только нужную… А все вокруг лагает, лагает…
Проще ведь через базу, да? Найти нужную табличку «пользователь - его роли», удалить оттуда все строки, относящие к данному пользователю (вы можете создавать его в том же автотесте, можете использовать уже существующего, если с созданием новой учетки есть некоторые проблемы/затраты во времени (подтверждение админом), тут уже вам решать, откуда id пользователя тащить). И добавить одну или несколько своих.
Попробуем сделать это на примере нашего приложения, достающего из базы всех авторов, а также их книги.
В студии у нас уже есть в этом solution-е 2 проекта: «Books.Model» и «Books.Web». Добавляем новый проект класса «Library» - «Books.Tests». В реальной жизни нам понадобится только наша модель и сами тесты, «веб»-часть мы просто выкидываем.
Но раз уж она есть, будем контролировать корректность выполнения теста. Ведь по сути у нас задача написать не сам тест, а «то, что будет сделано ДО выполнения тестов». Значит, никакие проверки внутри не нужны. Проверим руками, запустив приложение. Если нет веб-части, можно посмотреть и в SQL Server Managеment Studio.
Итак, создали тесты. Добавляем сразу конфигурационный файл в проект:

В нем указываем строку соединения.
  <connectionStrings>
<add name="BooksDb" connectionString="Data Source=.\SQLEXPRESS;Initial     Catalog=Books;User ID=ap;Password="/>
  </connectionStrings>

Теперь запишем сам тест:
using Books.Model;
using NUnit.Framework;

namespace Books.Tests
{
    [TestFixture]
    public class Test
    {
        public int idAuthor;
        public int idBook;

        [Test]
        public void ЗадатьАвтораУжастика()
        {
            idAuthor = 2;
            idBook = 8;

using (var db = new Books.Model.BooksModelDataContext(ConfigurationManager.ConnectionStrings["BooksDb"].ConnectionString))
            {
                using (var tran = new TransactionScope())
                {
                    var ordDetailQuery =
                        from a in db.BookAuthorships
                        where a.authorId == idAuthor
                         select a;

                    db.BookAuthorships.DeleteAllOnSubmit(ordDetailQuery);


                    var ba = new BookAuthorship();
                    ba.authorId = idAuthor;
                    ba.bookId = idBook;

                    db.BookAuthorships.InsertOnSubmit(ba);

                    db.SubmitChanges();
                    tran.Complete();
                }
            }
        }
    }
}

using Books.Model; - мы будем работать с моделью, подключаем ее в references на закладке проектов, подключаем ее namespace в наш тест.

using NUnit.Framework; - с его помощью мы определяем наш набор тестов.

[TestFixture] – атрибут NUnit.Framework, указывает на то, что ниже идет набор тестов, помеченных атбитом [Test]. В реальности этот наш «тест» будет не самим тестом, а заготовкой, то есть он будет лежать в базовом классе, помеченный атрибутом [TestFixtureSetUp].

idAuthor = 2;
idBook = 8;

В нашем тесте мы хотим конкретному автору («Ольга К») сопоставить конкретную книгу. Лезем в базу, узнаем их id. Задаем явно. Можно тащить из какого-нибудь конфига. Если потребуется.
Далее стандартно – чтобы обратиться к базе, нужно выполнить операцию. Операция должна быть обернута в транзакцию. Для открытия транзакции необходимо открыть соединение.
Делаем выборку из базы всех строк с автором «Ольга К»
var ordDetailQuery =
  from a in db.BookAuthorships
  where a.authorId == idAuthor
  select a;

Удаляем их:
db.BookAuthorships.DeleteAllOnSubmit(ordDetailQuery);

Создаем entity с параметрами, которые мы хотим видеть в базе в итоге:
var ba = new BookAuthorship();
ba.authorId = idAuthor;
ba.bookId = idBook;

Помещаем его в базу:
db.BookAuthorships.InsertOnSubmit(ba);

Сохраняем изменения в базе, закрываем транзакцию.
F5 – стартуем приложение. У нашей «подопытной» три книги:


Прогоняем тест.

Снова стартуем приложение:


Вуаля J

MVC. Общаемся с БД 2

Допилим наше приложение. Чтобы как тестовое использовать можно было, проверку написанного устраивать без того, чтобы еще и в SQL Server Managеment Studio лазить.

Итак, что мы умеем? Мы умеем получать список авторов, добавлять новых, редактировать и удалять старых.

Но этой информации «маловато будет», если мы хотим менять некие связи внутри базы данных, и видеть их изменение. Поэтому вытащим на основную информацию еще и список всех книг, написанных автором.

Вначале допиливаем View под названием «Индекс» - добавляем в заголовки новый («Его книги») и в тело таблицы:

    <tbody>
        @foreach(var a in Model)
        {
            <tr>
                <td>@a.LastName</td>
                <td>@a.FirstName</td>
                <td>@Html.ActionLink("Редактировать", "Edit", new {id = a.Id})</td>
                <td>@Html.ActionLink("Удалить", "Delete", new {id = a.Id})</td>              
                <td>@a.Books</td>
            </tr>
        }
    </tbody>

Теперь подредактируем контроллер, метод Index.


В нем мы получаем уже не объект типа «автор», а новый объект, создаем для него отдельный класс рядом с контроллером:


И вносим туда все геттеры и сеттеры, необходимые для получения не только имени и фамилии автора, но и его книг:

namespace Books.Web.Models
{
    public class AuthorListRecord
    {
        public int Id { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public string Books { get; set; }
        
    }
}

Таким образом, мы получили всех авторов из таблицы авторов и с помощью
Books = string.Join(", ", a.BookAuthorships.Select(b => b.Book.name))

Вытащили все книги, написанные данным автором, из промежуточной таблицы.
F5 – стартуем приложение J

пятница, 17 февраля 2012 г.

Нянечка - менеджер и тестировщик - почемучка

Навеяно докладом Наташи Руколь на первой встрече MSTC в этом году.

Какие встречаются тест-менеджеры? Один из подвидов - "нянечка". Такая милая, нежная нянечка... А кто же тогда мы? Правильно, детки - "почемучки".


Которые порой доводят бедную нянечку своими вечными вопросами:


Хорошо это? Или плохо?

Тестировщик должен уметь грамотно излагать свои мысли. Должен разбираться в системе, которую он тестирует. Должен, в конце концов, уметь сам принимать решения.

А вовсе не бегать, отвлекая бедную нянечку по любому поводу.

Но где же вы встречали идеальную команду? Идеал - он на то и идеал, чтобы к нему стремиться. И постоянно возникают вопросы, как не сильно важные - например, неизвестно, бага это или фича, исправлять в эту итерацию или в следующую... При этом, получит такая шустрая почемучка пару втыков аля "не отвлекай программистов, это не важно! Ну и пофиг, что они быстрее поправят, чем ты багу оформишь, все равно не надо", да и перестанет. Станет согласовывать с менеджером. Ну, раз просили...

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

А если нянечка - "новичок"? Бедная, она то думала, детишкам надо раздать их игрушки, а потом похвалить, а тут сплошные вопросы. Появляется раздражение и мечта о детках "я сам!".

Но лучше ли такие? Конечно, решить простую задачу - составить из кубиков башеку, которая не развалится, такой "я сам!" сможет и сам... После одной неудачной попытки... Или двух... Или трех... Или десяти... Вернемся к тестированию. Человек упрямо лезет в дебри бизнес-логики сам... И даже разбирается в ней! К концу релиза...

И так ли становится важна самостоятельность, если:

а) тебя за нее же еще и ругают;
б) ваш проект теряет драгоценное время!

Надо думать о том, как будет лучше команде, а не лично тебе.

Мне в этом плане понравилось мнение ведущего разработчика "Задавайте вопросы, делитесь идеями. 90% идей будут глупыми, ненужными, но! Зато найдутся среди них и парочка гениальных, а оно того стоит"

Это как мозговой штурм. Если ты один сидишь, думаешь, придумаешь 5 вариантов. Если вы впятером предлагаете все больше и больше вариантов, найдете 55, из них, выкинув дубли/нереализуемые вещи, останет 35. Что все равно больше, чем 5! А все потому, что один предложил идею, пусть даже глупую, мозги остальных участников в нее вцепились и разобрали на ассоциации => сгенерировали новую идею, которая "просто так", без мозгового штурма, даже в голову бы не пришла!

Помню, в глубоком детстве бывали ситуации, ломаешь голову над ненавистной "домашкой", ломаешь, потом идешь к маме. Пока объясняешь ей вопрос, сам же находишь ответ :)))

Так же и сейчас. Придешь к аналитику, начнешь задавать вопросы, получается мини-мозговой штурм. Ты, пока формулировал вопрос, нашел какое-то новое мнение/новый тест кейс придумал, аналитик что-то подсказал - еще тест-кейс, твой мозг активизировался, нашел интеграционные параллели - еще кейсы! И так по кругу.

Пример из практики:..
Очередная итерация, очень интересная - несколько новых компонентов будут разрабатываться (например, "А" и "Б"). Аналитики "делят" тестировщиков. Мне хотели отдать модуль "Б", так как с "А" я работала до этого на двух проектах уже, причем с тем же самым программистом:

- Поставим туда другого. (я упираюсь) Ты вот с "Б" поработаешь, да и знаем мы тебя, "А" ты все равно проверишь (конечно, любимый модуль, любимый программист).

Хитрые, типа. Да, я проверю :)) Оба модуля. Я шустрая, я успею.

Аналитик модуля "А" отвечает:

- Нееет, я с Олю хочу. Она, конечно, мне весь мозг вынесет, но зато мы все сделаем круто!

И я считаю это комплиментом :) Хотя за "вынесет мозг" почти стыдно стало...
Не всегда быть почемучкой - плохо. Дети познают мир через такие вопросы, тестировщики - систему. Главное - найти грань, где можно самому решение принять, а где больше пользы принесет мозговой штурм после вашего "а почему...?"

четверг, 16 февраля 2012 г.

Auto ConfeT&QA

Вот и отзвучала первая конференция из цикла конфеток начала 2012 года (не удивлюсь, если до конца года успеет отзвучать еще один цикл ;) )

Как-то странно даже :) На прошлой конференции каждый день по несколько отчетов в блогах люди писали, а сейчас - пусто, хоть шаром покати. Исправляйтесь, господа слушатели! :)

Правда, первая конфетка получилась самой "тяжелой", нагруженной техническими деталями... Вот леденцы на тему ручного тестирования и вкусняшки от менеджмента простым тестировщикам будут явно ближе. И мыслей больше, я надеюсь :)

Тем не менее хочу поздравить всех, кто осилил эту ношу! Получил кучу новых знаний и умений!

Также хочу поздравить всех докладчиков. Вы молодцы!! Известные ораторы (они же организаторы) только подтвердили свой статус. Но и докладчики молодцы!

Говорю вам от имени человека "из-за кулис". Когда я послушала первую репетицию, я была немного... Удивлена... Похоже, я одна перед защитой доклада (чтобы его утвердили) две недели провела за подготовкой )))

И именно поэтому я поздравляю докладчиков, которые таки собрались и выступили в итоге хорошо. Значит, "работа над собой" таки была проведена! Вы молодцы!

Запомнилось live с доклада о Sikuli, правда, с мыслями "Ой, какая ужасная игрушка" ))))

К логированию отнеслась спокойно, так как сама использую редко и уже почти поверила программисту, утверждающему что "нафиг тебе те логи"...

Доклад Алексея видела вживую, поэтому онлайн укороченную версию слушала вполуха. Хотя на картинку с кошкой с удовольствием посмотрела)))) Забавный зверек "в засаде", хорошее сравнение! Доклад мне, кстати, помог на одном из собеседований.

Меня спрашивают - что такое стратегия тестирования?
Я - о_О. Нууу... Блин :) "Это все знают, ну это же... ну все же знают" (с) Ответ на тему составления тест-плана забраковали...
Чтобы не молчать, сказала "а вот Алексей Баранцев недавно рассказывал про стратегию, но автоматизации, и использовал как пример военную". Ок, взяли за базу военную и вывели стратегию тестирования. Вот так :)

Понравились обходные пути в автоматизации. Ведь и правда, таких ситуаций сложно избежать, когда бага есть, а над ней только посмеиваются. Слайды с ехидными менеджерами/разработчиками порадовали :)))

С интересом посмотрела на CodedUi, но куча доп настроек как-то не сильно вдохновляет, эх...

Посмотрела на Selenium фреймворк от Миши. Послушать интересно, применять не хочу ))) Устаивает Watin пока что.

Хорошо выступил Николай Алименков, было интересно послушать про практику TDD, очень в тему затонута проблема внедрения "ага, пришли вы такой умный завтра на работу и сказали "внедряем"! Что вам ответят коллеги?))"

Во время доклада по ТС прозвучала мысль "ну вы попробуйте, если вас напугает вид кода, записанного рекордером - значит, автоматизация не ваше". Хехе, меня вот пугал вид кода в ТС, это еще ни о чем не говорит))) Там просто путь к объекту страшно смотрится, а если его искать через Find.byID, например, то уже вполне вполне :)

Перед докладом Андрея Дзыни доделала таки себе греческий салатик и сидела, наслаждалась ничего-не-деланием, косясь на то, "как другие работают" )))) Андроиды я автоматизировать не планирую, но посмотреть доклад было интересно.

Ну и свой... Автоматизация на русском языке!


Позавчера, за день до доклада, во мне внезапно взыграла лень-матушка и я решила не репетировать. Мол, "завтра пораньше с работы уйду и порепетирую, а сегодня зачем, лучше спать пораньше уйду". Кстати, ни фига не помогло. Легла в 10 вечера, но как вчера спааааать хочелось!

Перед конференцией репетировать опять поленилась. Только начало повторила, так как во вторник был доклад по MS, можно было упомянуть это. Потом решила проверить, что мои тесты не упадут ))) И как раз во вторник, за день до конференции, у меня гугл полетел. В IE открыла гугл (домашняя страница), полезла в почту, пока ноут не успел прогрузиться... И все! IE стал умирать на гугле. Поменяла домашнюю страницу, вроде успокоилась.

И вот, хочу проверить, что тесты работают. Написала тестик (все то лень репетировать, лучше уж 3 минуты вместо 15), запускаю, а у меня бац! Падает тест на... Открытии браузера ))

Все, паника! Паника, паника! Ничего не работает, ужас, кошмар и ваще :)
Программист надо мной посмеялся и сказал конфиг в проект включить. Уфффф. Блин, сама жевыкинула, чтобы в докладе показать, как его включать... Все, решила дальше не репетировать ))))

Но отсутствие окончательных репетиций было заметно - пару раз спотыкалась в докладе. Один раз даже слово какое-то забыла, пришлось предложение перестраивать. В общем, есть над чем поработать :)
А еще в вопросах перебивала иногда организатора, Миша, извини :)

Но, надеюсь, кого-то мой доклад вдохновил и он попробует создать такие же простенькие тесты. На форуме выложен мой рабочий проект, и мое описание, как сделать его самому. Потому что, если с нуля... То лучше пройти полный круг - создать самому проект, подключить библиотечки и все расписать. Все классы, подготовленные заранее, я выложила, библиотеки тоже. Что где менять - есть на слайдах. Так что - в добрый путь! :)

вторник, 14 февраля 2012 г.

Вот и говори им - Спасибо!

Как тестировщик, раньше занимавшийся играми для мобильных телефонов, не могу промолчать :))

Во многих приложениях с маркета (или AppStore) покупка приложения означает просто "Спасибо" разработчикам, потому что для комфорной игры хватает и бесплатных функций.

Скачала я себе футбольчик на свой galaxy 2. Лайт версию. И что-то как-то стала ее более-менее активно использовать, там есть режим для двух игроков, что очень даже гуд :)

Решила сказать разработчикам "спасибо", купила полную версию. Ага, благими намерениями...

Пока полная версия качалась, решила открыть лайт. Запустила ее, а там... Черный экран с кучей текста в духе "Омг! Паника! ERROR crash!". Потом просто черный экран о_О

Ок, нажала бекспейс, эта кнопочка обычно означает "сделать шаг назад". В данном случае - закрыть приложение. Приложение закрылось. Но музыка продолжала играть :(

Тут докачалась полная игрушка - открыла ее, но наложение музыки мне не понравилось. Вышла. Музыка играет. Пришлось перезагрузиться.

Фиг с тобой, не буду лайт запускать, удалила ее даже - от греха подальше.
Кстати, успела перед удалением заметить, что в фулл и лайт версиях кнопка бекспейса работает нифига не как "на один шаг назад", она тупо закрывает приложение о_О Это вообще фи, если уж и закрывать, раз сложно шаг назад сделать, то хоть переспрашивали бы. А то удивляет... Первые пару раз. Потом Просто чертыхаешься.

Ну например, выбираешь себе игрока. Там это как? Отрисовывается картинка с твоим персонажем. Если кликнешь по нему - откроется окно выбора персонажей, выбираешь там цвет своей майки и попадаешь на экран выбора настроения. Или медленный, но непроворный, или быстрый, но неповоротливый. Или среднее.

Так вот, попадаешь на выбор персонажа. А ты вообще на него случайно тыкнул! Не хочешь менять, тебя "твой" устраивает. Кнопки "назад" на экране выбора персонажа нет. То есть тебе надо выбрать персонажа, выбрать ему эмоцию... Надо оно кому? Первая реакция - нажать на кнопку "назад", раз ее нет в игре, то - на телефоне. А тебя выкидывает - "Блииин" ))))

Причем в лайт версии на экране выбора персонажа (или эмоции? Забыла уже, в фулл не повторяется, а скачивать лайт уже не рискну) эта кнопка вообще не работает! Везде выкидывает из игры, а на одном экране - не работает :) Хто так тестит!

Ну ладно, это все фигня. Хотя постоянно влетаю на этот выход из игры, по привычке делая шаг назад кнопкой телефона -_-

Решили опробовать фулл версию. Отыграли матч. Потом я забыла, что сделала :( Вроде решила выйти из игры. И тут - здрасте, приехали.

Понимаю, что условия нечеткие, но извините, бесплатной рабочей силой не нанималась - условия багов выискивать :) Читаем то, что на рисунке, думаем (лениво дважды переписывать, скину на суппорт ссылку сюда). Играли синеньким 3 звезды на робота 2 звезды.

Дальше больше! Управление в фулл версии вообще ужас. Если палец чуть за джойстик вытащить, то он или вообще не реагирует (ты такой, хоп из центра влево наверх, а тот вообще не сдвинулся о_О) или залипает в крайнем положении. Отыграли пару игр, обплевалась, походу, придется обратно лайт версию скачивать, там такого не было.

Но. Едем дальше. Отыграли матч - синий на коричневого. Матч закончился, снова нажимаем на "2 игрока", видим рисунок:



То есть игроки остались с прошлого раза, синий на коричневого. Что нас вполне устраивает. Нажимаем "вперед" и на следующем экране видим...


Двух синеньких о_О
Причем в самой игре этот экран прощелкали, так и игрались одинаковыми :(((

То бишь. Сохранение "предыдущих" игроков на самом деле не работает, хоть и отображается вроде как "корректно". Чтобы опять играть синим на коричневого, надо коричневого "изменить" на самого себя, то есть выбрать заного. Ай яй яй...

Вот будь я там тестировщиком, у меня бы все разработчики на ушах стояли ))) Такую лажу в продакшен слить!

В общем - говори потом разработчикам "Спасибо!", лайт версия не крашилась до покупки полной и управление там меньше глючит... Как-то... Неправильно это...

PS — добавила пост в общую копилку багов.

воскресенье, 12 февраля 2012 г.

Цели - глобальные и не очень

Когда у человека есть цель – это придает ему сил! Если у тебя есть цель – можно пережить много трудностей. Потому что знаешь, к чему стремишься.

Когда есть цель, мозг ищет пути ее достижения. Не поставишь цели, так и будешь тухнуть в болоте, ничего не делая. Цели должны быть как глобальные – на несколько лет вперед, так и более достижимые. Например, «чего я хочу достичь за год».
Чего я хочу в глобальном плане? Говоря о тестировании, конечно, квартира, машина – сюда не относятся J
1.       Аспирантура.

На моей текущей работе я работаю уже 4 года. 3,5 из них пришлись на мою бытность студентом. Так что, защитив диплом, я решила «немного поработать», никуда не отлучаясь. Привело это к тому,  что сам диплом я забрала пару недель назад. Заодно встретилась со своим научным руководителем…

Он то меня и надоумил – раз уж мне интересна именно моя профессия, то мне стоит сходить на кафедру ИТ и предложить прочитать курс лекций по этой теме. Заодно найти себе нового научного руководителя и поступить в аспирантуру.

Порывшись в сети, нашла замечательное определение: 

Аспирант (лат.) – стремящийся к чему-либо

Я стремлюсь! Написать диссертацию по теме тестирования – это же здорово! 3 года работать «вглубь» над какой-либо проблемой… Это интересно и мега-полезно!

Почему цель «глобальная», а не локальная, например «поступить в аспирантуру»? Я отдаю себе отчет, что в этом году я не смогу. При поступлении все равно экзамены надо сдавать – готовиться, а я пока даже не знаю, к чему. Плюс ко всему работу меняю, и на ближайшие месяцы мне хватит забот и без экзаменов. А вот в следующем году… Уже можно будет и тему продумать, и институт выбрать, если уж в родном меня не примут… Так что когда-нибудь я еще создам статью в духе «Я это сделала!»

2.       Поработать преподавателем в МГТУ им. Н.Э.Баумана.

Опять же, цель пришла из разговора с научным руководителем.  Нет, ну а что? Чтобы по-настоящему «прокачать» свое знание в какой-то области – надо научить ему других людей. Помню, в том году читала в блоге какой-то девушки о том, что ее пригласили обучать тестировщиков с нуля и ей это внезапно понравилось. Она стала с радостью ждать субботнего вечера, проводимого с учениками.

Это же и правда круто! Большинство ИТ-шников уже на 2-3 курсе начинают подрабатывать. Если им подкинуть мысли насчет тестирования… Не факт, что они пойдут в эту область, но, возможно, смогут чем-то улучшить процесс в своей команде. Провести такой небольшой курсик, раз в неделю, а то и в две читая лекцию… Заодно разузнать насчет аспирантуры J В локальные цели не выношу по той же причине – новая работа…

Так, ну вроде все. Глобальные цели есть. А чего же я хочу достичь за этот год? Оно, конечно, середина февраля, давно пора бы уже цели поставить…


1.       Улучшить свой английский

На всех собеседованиях, которые были мне интересны, вопрос языка поднимался. Так что, увы и ах. Хочешь не хочешь – учить надо. При этом я не ставлю себе задачи на год – стать просто мега-гуру в языке. Но как минимум стоит улучшить свой словарный запас. 

Рекламу в студию! Поставила себе на свой ipad приложение MyEnglish, всем советую J

Во-первых, оно бесплатное, хотя я купила доп уроки по грамматике за 30 рублей. Это и доп уроки, и «спасибо» разработчикам.

В приложении можно просто изучать карточки – от 10 до 100 за раз. Там вам будут даваться слова на русском или англ, как выберете, при желании увидите их перевод. Это чтобы учить.  

Есть виселица – самый мой любимый вид обучения J Есть джамбл, есть диктант, есть тестирование. Причем все это можно делать по словам какого-либо уровня (elementary, intermediate…), можно по уже выученным словам (есть там кнопка «я выучил это слово»), можно по своим собственным наборам. Я вот создала набор «Testing», заношу туда слова из книги Lee Copelanda «A practitioners guide to software test design». 

Очень удобно, особенно если выставить поменьше слов за раз. А то сотня утомляет, тем более, что часто ipad вертится в руках, когда уже вроде спать пора, а лениво, или когда что-то делал, делал, утомился, отвлечься решил. Сотню слов изучать? Лень будет. А вот если 10 или 20 выставить – то в самый раз, занимает 5 минут, гоняется в день по несколько раз = в итоге получается уже больше сотни.

Так же там есть уроки грамматики с тестами, скороговорки, пословицы… В общем, всем нежелающим идти на курсы, но желающим немного улучшить словарный запас без особо напряга – очень рекомендую!

2.       Прочитать несколько книг по тестированию в оригинале.

3.       Улучшить свои основные навыки по ручному тестированию (сделать мир лучше (с) Ну или хотя бы проект…)

4.       Стараться хотя бы раз в день вызывать улыбку на лицах родных/друзей/коллег. Шуткой, комплиментом, просто добрым словом (сделать мир лучше!)

5.       Прокачаться в автоматизации.

Размытое понятие, я знаю.

Заавтоматизировать свой проект. Углубиться в языки C# и Java, чтобы я могла читать код, могла решить простенькую задачку по программированию. А то стыдно сказать, на собеседовании не смогла вспомнить, как условие в операторе if пишется. И это «автоматизатор», эх. В общем, не плавать в простейшем. 

6.       Изучить нагрузочное тестирование.

Не знаю, будет ли мне где его применять… Если такие задачи будут, то цель непросто  изучить, а «прокачаться». Если не будет – то просто изучить. Изучить на примере JMeter, а потом понять, как это сделать через C# без лишних инструментов.

7.       Изучить программы тестирования «белым ящиком».

8.     Прокачаться в ораторском искусстве.
9.       Покататься на лошади J
Последний пункт поймут москвичи, участвовавшие в этой встрече…
Что тут еще сказать? Новый год, новая работа, новый коллектив, новый опыт, новые знания… Будет весело, однозначно!