1. Let the automation in!
    1. What?
      1. might
        1. Logs processing
      2. should
        1. End-to-end functional tests
          1. API
          2. UI
        2. Business critical checks
        3. Test data setup
      3. must
        1. Environment setting
        2. Routines
    2. When?
  2. Environment setup automation
    1. Tools:
      1. SSH, Kitty
      2. Console text editing: vim, nano
    2. *nix shell scripting / it’s variant for Windows: Cygwin
      1. OS and FS
        1. permissions
        2. Listing files
          1. ls
        3. Copying, moving, creating folders/files
        4. Disk space
        5. htop and processes management
      2. grep
      3. permissions
      4. | > sed
      5. *.sh files: creating and executing
    3. Databases: SQL
      1. select
      2. join
    4. Python as a scripting tool
      1. Installation: pip, packages
      2. iPython - interactive command line
      3. Log file processing
      4. Simple results reporting
  3. Web ent-to-end functional testing
    1. IDE
      1. Pycharm
    2. API:
      1. REST
        1. JSON
        2. POST, PUT, GET, DELETE
      2. SOAP
        1. XML and WSDL
        2. with SOAP UI
        3. with Python
    3. UI:
      1. Selenium IDE
      2. Webdriver
        1. with Python and pytest:
          1. pytest-variables
          2. pytest-html
          3. pytest- selenium
        2. Page object pattern
  4. Semi-automation steps
    1. strings
      1. big-list-of-naughty-strings
      2. Bugmagnet
        1. with your own config
    2. Selenium IDE
      1. Record/playback “magic”
      2. It’s problems
      3. DOM
      4. Locators
      5. Tools to identify locator: Firepath,
    3. Bookmarklets
    4. Notepad++
  5. Mobile testing
    1. Network Latency / Packet Loss
    2. Parallel Connections
    3. Testing in Real Environments and Users
    4. Background Activity
    5. Updates