Какие базовые навыки должен знать автоматизатор?

Елизабет Хендриксон сделала небольшое изучения требуемых навыков на рынке США для тестеровщиков и получила следующие данные

The bottom line is that our numbers indicate approximately 80% of the job ads you’d find if searching for jobs in Software QA or Test are asking for programming skills.
SQL or relational database skills (84) 
Java, including J2EE and EJBs (52)
Perl (44)
Python (39)
C/C++ (30)
Shell Scripting (27) note: an additional 4 mentioned batch files.
JavaScript (24)
C# (23)
.NET including VB.NET and ASP.NET but not C# (19)
Ruby (9)

Статья тут http://testobsessed.com/2010/10/20/testers-code/

Да, 80% процентов это не мало. Мне интересно какова же потребность в странных СНГ?

Всё зависит от уровня приложения. Если мы говорим об GUI тестиованиия, то, как правило, тестировщикам достаточно знать комманды средства автоматизации, чтобы описать действия пользователя (хотя, конечно, и тут куча подводных камней). У нас, например на работе мы пишем тесты на низком уровне (SOAP, MQ), поэтому иногда приходится писать полноценные приложения для тестирования, и вот тут-то уже надор знания посерьёзней. :) А без SQL, как правило, никак.

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

Ну так и я про них. :)

Нужны знания в области (теории) тестирования - общих думаю достаточно

Нужны знания самих инструментов автоматизации, их возможностей, проблем с которыми можно столкнутся. Если это web, то например знания selenium webdriver, если desktop то - Test Complete.

Не знаю, как это правильно назвать, но кроме «программировать» я бы еще добавил «делать сложные вещи – простыми».
Ну, пример довольно внушительного фреймворка для C# + WebDriver.
Там и технологии хорошие заюзаны, и архитектура своя, но вот код в некоторых местах…

https://github.com/athrunsun/csharp-automaton/blob/master/Keyword/AddAgendaItem.cs

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

        if (PageObject.PageObjectProvider.Builder.EventDetails.FormPages.AgendaPage.CreateAgendaItem.IsPresent)
        {
            PageObject.PageObjectProvider.Builder.EventDetails.FormPages.AgendaPage.CreateAgendaItem_Click();
        }
        else if(PageObject.PageObjectProvider.Builder.EventDetails.FormPages.AgendaPage.AddAgendaItem.IsPresent)
        {
            PageObject.PageObjectProvider.Builder.EventDetails.FormPages.AgendaPage.AddAgendaItem_Click();
        }
        else if (PageObject.PageObjectProvider.Builder.EventDetails.FormPages.AgendaPage.CreateActivities.IsPresent)

я бы наввал это "рефакторинг и оптимизация кода"

да представленный пример действательно очень показательный

Тогда почему пишем SQL? Пишите тогда БД. А то получается ООП - мы должны знать, а вот по БД - только SQL.

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

можно кидать туда ссылки и потом на них ссылаться.

Я считаю,что сначало должен идти навик проектирования а уж потом рефакторинг + оптимизация - так как они относятся уже к существующему коду. А добротное проектирование нужно с самого начала, когда еще ничего нет - только идея.

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

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

 

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

100% поддерживаю :)

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

- HTML, CSS, JavaScript

- English :)

Ну English, он завсегда. :slight_smile:

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

А сейчас, я уже бы сказал, что Selenium \ WebDriver становиться необходимостью. Прослеживаю это очень часто в разных компаниях и агенствах.

Ну, с разговорным это да. Без практики проблематично. Главное, чтобы доки прочитать. :slight_smile:

Зависит от специфики софта. Вот, мне, например, нафиг не нужно. У нас интеграция.