Wednesday 16 November 2016

EuroSTAR 2016 - SW Testing Conference

As every year, this year there was another big event for Software Testing enthusiasts, EuroSTAR conference, this conference takes place every year, this time it was hosted by beautiful city Stockholm from 31/10/2016 to 03/11/2016. The EuroSTAR conference is the biggest one in Europe. How did I get there actually? One day in September I was asked by my boss if I would like to attend the conference as two of my colleagues were unable to make it. I did not know initially what to expect but I guessed it would be great opportunity for me to learn new skills and meet loads of interesting people in one place. Therefore I just could not resist and decided immediately to go there, I also wanted to see Stockholm actually.
Let's focus on the conference itself, the event took place in Stockholmsmassan, which is the local venue for international fairs and congresses, located in southern part of the city called Älvsjö
 (thanks to the hotel receptionist I learnt how to pronounce it).



The conference took 4 days in total, 1 whole day tutorial, 0.5 day tutorial (we had to register for our selected tutorials in advance) and 2.5 remaining days dedicated to the conference (presentations,  keynotes, networking sessions). As a part of the conference there was also large room for exhibitors where several technology companies could present their activities. With some of the companies you could actually even win some interesting gadgets or devices (such as Ipad, drone, Raspberry Pi). I tried but unfortunately no success, maybe even better as I did not have enough space left in my luggage. Giving concrete examples, some of the companies in the exhibition were:

Hewlett-Packard
Accenture
Smart Bear
CA Technologies
LeapTest
Applitools
TransWare
GameBench
GreenSQA
Hiptest

... and others

From the networking perspective, I was really glad to have the opportunity to meet and spend some time with 4 my colleagues from the office in Brussels, Anne-Francois, Isabelle, Johan, Marc, I'll look forward to seeing you again soon either in Brussels or in London. Perhaps we'll work one day on a project, who knows.

Test Lab provided opportunity to meet new friends and to learn something new outside our day to day work life

I had great impression of the testers from Finland. As the testing community there is relatively small (population of Finland is about 5.5 million), the people know each other quite well and like to organise frequently events for knowledge sharing or just getting to know each other. And they are actually very passionate about the work they do and enthusiastic too. I can imagine I could learn quite a lot from those guys. One of them, his name was Anti, told us how he listens a track and puts his hands up every day before he starts with the testing work. This is just to get to the winning spirit, shall I try the same?

About my selection of the tutorials, I tried to choose both technical/process and soft-skills oriented, of course one of the key factors was also to choose something which I could use in my day to day work now or in a near future. Selection was pretty big actually, I chose following.

>>> 31/10/2016

Tutorial A | Metamorphosis - Moving to Agile and staying Agile
Fran O'Hara - Inspire Quality Services, Ireland

Tutorial about learning from the experiences of what works and what does not when transitioning to agile. Focused on the quality and and test perspective. It also covered how to maintain and improve the level of performance after the initial transition to ensure the benefits achieved are sustained and long lasting.
Topics included:

  • Cultural/people issues such as a self-organisation issues and lack of whole team thinking
  • Inappropriate hybrid implementations of Scrum and agile technical practices
  • Key topics to emphasise for further sustaining and improving test related performance include effective automation strategies, refactoring approaches for automated tests, user stories sizing, full integration of tests into the agile lifecycle, infrastructural mechanisms to share good practices among teams and tooling strategies.
etc.


>>> 01/11/2016

Tutorial I | Stay Sharp - Games to Engage and Enthuse your Testers
James Lyndsay - Workroom Productions Ltd

Do bored testers make bad testers? Are interested testers more observant and more innovative? Do they find more innovative bugs? This workshop was meant to be for everybody who answered "Yes" to the 3 question above. Workshop was split into several group exercises, 20 minutes long each.
Some of the exercises were:

  • Exposure of the differences in working style between engaged and bored testers and building a collection of ways that can keep everyone in a team interested
  • Incentives for cognitive work, attempts to introduce competition and game-playing into testing, followed by the resourcefulness and innovation for testers
  • Discussion and experimenting with the range of changes that can introduce novelty and diversity to our test focus and test approach
etc.

Want to see more, check the James's personal website -> http://staysharp.workroomprds.com/


... List of another interesting sessions I attended during the remaining days:

Two Generations on Software Testing - The Way We Learn
Christian and Gitte Ottesen - Systematic A/S, Denmark

This tutorial was lead by mother and son, they both represented two generations - as a family and as testers. Based on their individual journeys, they took us through different ways of learning; what worked, what did not, thoughts and expectations about how to learn and develop their craft in the future.


How We Learned to Love Quality and Stop Testing
Sally Goble - The Guardian, UK

Stories from the Guardian's QA team (successful and otherwise) about adopting a holistic approach to quality and the experiments and the lessons learned in their adventure to ditch conventional approaches to testing.


How this Tester Learned to Write Code
Joep Schuurkes - Mendix, Netherlands

Successful story about how this person learned himself to write a code. In his story it started with command line (where-else) and continued via shell scripting and VBA (the horror, the horror) to the seriousness of Java. Useful for every single tested having no experience with coding but willingness to start coding from a scratch.


Saved by Antifragile - A Story of Networked Learning
Sami Söderblom - TeliaSonera Finland, Finland

How antifragile models have been deployed into TeliaSonera Finland, one of the biggest compamies in their small nation. Everything resolves around "tribes" who make progress in their respective fields of interest; some are immersed in legacy environments, waterfalls and something as trivial as communication challenges while some have gotten the privilege to progress initiatives such as IoT, cloud platforms and healthcare solutions using more contemporary work methods.

The presentation is available online here:
https://dojo.ministryoftesting.com/lessons/saved-by-antifragile-by-sami-soderblom


Sunday 14 August 2016

GIT Directories

# Working Directory
- Area where all our files and directories and changes are living all the time 

# Staging Area
- Files and directories that we explicitly add to the staging area

# Git Repository
- Where all our snapshots are stored

Thursday 28 July 2016

Great Newham London Run 2016

The same as last year, this year I attended Great Newham London Run again. The run itself took place in Olympic Park in London with finish inside the Olympic Stadium, great experience, I felt almost as if I was in Olympic games. Unfortunately I did not win but I enjoyed it a lot! I'll be pleased to attend the event next year again.

How about my performance:
Distance -> 10k
Finish Time -> 00:45:36
Average Pace / km -> 04:25
Position -> 464th


What is the commercial on my T-shirt actually? It is dataddo, application for automated data extraction, integration, transformation, analytics and visualisation.
Check the details out on:

Friday 15 January 2016

Mac OS Terminal - how to use vi editor

The vi editor is available on almost all Unix systems. vi can be used from any type of terminal because it does not depend on arrow keys and function keys--it uses the standard alphabetic keys for commands.
vi (pronounced "vee-eye") is short for "vi"sual editor. It displays a window into the file being edited that shows 24 lines of text. vi is a text editor, not a "what you see is what you get" word processor. vi lets you add, change, and delete text, but does not provide such formatting capabilities as centering lines or indenting paragraphs.
This help note explains the basics of vi:
  • opening and closing a file
  • moving around in a file
  • elementary editing
vi has many other commands and options not described here. The following resources can help you get started using the vi editor, and are available at the UW University Book Store:
  • "vi Tutorial." Specialized Systems Consultants (SSC).
  • "vi Reference." Specialized Systems Consultants (SSC).
  • "Learning the vi Editor." Linda Lamb, 1990.

Starting vi

You may use vi to open an already existing file by typing
      vi filename
where "filename" is the name of the existing file. If the file is not in your current directory, you must use the full pathname.
Or you may create a new file by typing
      vi newname
where "newname" is the name you wish to give the new file.
To open a new file called "testvi," enter
      vi testvi
On-screen, you will see blank lines, each with a tilde (~) at the left, and a line at the bottom giving the name and status of the new file:
~
      "testvi" [New file]

vi Modes

vi has two modes:
  • command mode
  • insert mode
In command mode, the letters of the keyboard perform editing functions (like moving the cursor, deleting text, etc.). To enter command mode, press the escape <Esc> key.
In insert mode, the letters you type form words and sentences. Unlike many word processors, vi starts up in command mode.

Entering Text

In order to begin entering text in this empty file, you must change from command mode to insert mode. To do this, type
      i
Nothing appears to change, but you are now in insert mode and can begin typing text. In general, vi's commands do not display on the screen and do not require the Return key to be pressed.
Type a few short lines and press <Return> at the end of each line. If you type a long line, you will notice the vi does not word wrap, it merely breaks the line unceremoniously at the edge of the screen.
If you make a mistake, pressing <Backspace> or <Delete> may remove the error, depending on your terminal type.

Moving the Cursor

To move the cursor to another position, you must be in command mode. If you have just finished typing text, you are still in insert mode. Go back to command mode by pressing <Esc>. If you are not sure which mode you are in, press <Esc> once or twice until you hear a beep. When you hear the beep, you are in command mode.
The cursor is controlled with four keys: h, j, k, l.
     Key        Cursor Movement
     ---        ---------------
     h        left one space
     j        down one line
     k        up one line
     l        right one space
When you have gone as far as possible in one direction, the cursor stops moving and you hear a beep. For example, you cannot use l to move right and wrap around to the next line, you must use j to move down a line. See the section entitled "Moving Around in a File" for ways to move more quickly through a file.

Basic Editing

Editing commands require that you be command mode. Many of the editing commands have a different function depending on whether they are typed as upper- or lowercase. Often, editing commands can be preceded by a number to indicate a repetition of the command.

Deleting Characters

To delete a character from a file, move the cursor until it is on the incorrect letter, then type
      x
The character under the cursor disappears. To remove four characters (the one under the cursor and the next three) type
     4x
To delete the character before the cursor, type
      X (uppercase)

Deleting Words

To delete a word, move the cursor to the first letter of the word, and type
      dw
This command deletes the word and the space following it.
To delete three words type
       3dw

Deleting Lines

To delete a whole line, type
       dd
The cursor does not have to be at the beginning of the line. Typing dd deletes the entire line containing the cursor and places the cursor at the start of the next line. To delete two lines, type
       2dd
To delete from the cursor position to the end of the line, type
       D (uppercase)

Replacing Characters

To replace one character with another:
  1. Move the cursor to the character to be replaced.
  2. Type r
  3. Type the replacement character.
The new character will appear, and you will still be in command mode.

Replacing Words

To replace one word with another, move to the start of the incorrect word and type
     cw
The last letter of the word to be replaced will turn into a $. You are now in insert mode and may type the replacement. The new text does not need to be the same length as the original. Press <Esc> to get back to command mode. To replace three words, type
     3cw

Replacing Lines

To change text from the cursor position to the end of the line:
  1. Type C (uppercase).
  2. Type the replacement text.
  3. Press <Esc>.

Inserting Text

To insert text in a line:
  1. Position the cursor where the new text should go.
  2. Type i
  3. Enter the new text.
The text is inserted BEFORE the cursor.
4. Press <Esc> to get back to command mode.

Appending Text

To add text to the end of a line:
  1. Position the cursor on the last letter of the line.
  2. Type a
  3. Enter the new text.
This adds text AFTER the cursor.
4. Press <Esc> to get back to command mode.

Opening a Blank Line

To insert a blank lineBELOW the current line, type
  • (lowercase)
To insert a blank line above the current line, type
     O (uppercase)

Joining Lines

To join two lines together:
  1. Put the cursor on the first line to be joined.
  2. Type J
To join three lines together:
  1. Put the cursor on the first line to be joined.
  2. Type 3J

Undoing

To undo your most recent edit, type
     u
To undo all the edits on a single line, type
     U (uppercase)
Undoing all edits on a single line only works as long as the cursor stays on that line. Once you move the cursor off a line, you cannot use U to restore the line.

Moving Around in a File

There are shortcuts to move more quickly though a file. All these work in command mode.
     Key            Movement
     ---            --------
     w            forward word by word
     b            backward word by word
     $            to end of line
     0 (zero)     to beginning of line
     H            to top line of screen
     M            to middle line of screen
     L            to last line of screen
     G            to last line of file
     1G           to first line of file
     <Control>f   scroll forward one screen
     <Control>b   scroll backward one screen
     <Control>d   scroll down one-half screen
     <Control>u   scroll up one-half screen

Moving by Searching

To move quickly by searching for text, while in command mode:
  1. Type / (slash).
  2. Enter the text to search for.
  3. Press <Return>.
The cursor moves to the first occurrence of that text.
To repeat the search in a forward direction, type
     n
To repeat the search in a backward direction, type
     N

Closing and Saving a File

With vi, you edit a copy of the file, rather than the original file. Changes are made to the original only when you save your edits.
To save the file and quit vi, type
     ZZ
The vi editor editor is built on an earler Unix text editor called ex. ex commands can be used within vi. ex commands begin with a : (colon) and end with a <Return>. The command is displayed on the status line as you type. Some ex commands are useful when saving and closing files.
To save the edits you have made, but leave vi running and your file open:
  1. Press <Esc>.
  2. Type :w
  3. Press <Return>.
To quit vi, and discard any changes your have made since last saving:
  1. Press <Esc>.
  2. Type :q!
  3. Press <Return>.

Command Summary

STARTING vi
     vi filename    edit a file named "filename"
     vi newfile     create a new file named "newfile"
ENTERING TEXT
     i            insert text left of cursor
     a            append text right of cursor
MOVING THE CURSOR
     h            left one space
     j            down one line
     k            up one line
     l            right one space
BASIC EDITING
     x         delete character
     nx        delete n characters
     X         delete character before cursor
     dw        delete word
     ndw       delete n words
     dd        delete line
     ndd       delete n lines
     D         delete characters from cursor to end of line
     r         replace character under cursor
     cw        replace a word
     ncw       replace n words
     C         change text from cursor to end of line
     o         insert blank lineBELOW cursor
                  (ready for insertion)
     O         insert blank line above cursor
                  (ready for insertion)
     J         join succeeding line to current cursor line
     nJ        join n succeeding lines to current cursor line
     u         undo last change
     U         restore current line
MOVING AROUND IN A FILE
     w            forward word by word
     b            backward word by word
     $            to end of line
     0 (zero)     to beginning of line
     H            to top line of screen
     M            to middle line of screen
     L            to last line of screen
     G            to last line of file
     1G           to first line of file
     <Control>f   scroll forward one screen
     <Control>b   scroll backward one screen
     <Control>d   scroll down one-half screen
     <Control>u   scroll up one-half screen
     n            repeat last search in same direction
     N            repeat last search in opposite direction
CLOSING AND SAVING A FILE
     ZZ            save file and then quit
     :w            save file
     :q!            discard changes and quit file

Monday 28 December 2015

Automate the boring stuff with Python

If you are an office worker, student, administrator, or just want to become more productive with your computer, programming will allow you to write code than can automate tedious tasks. 

... And how to begin? There are 3 sources available

Online tutorial:
https://automatetheboringstuff.com/

Or you can buy it as a book on Amazon:
http://www.amazon.co.uk/Automate-Boring-Stuff-Python-Programming/dp/1593275994 

Or you can take an online course on Udemy following the book above, the default price is £48:
https://www.udemy.com/automate/?dtcode=loBQEjb4fb6Z

Or if you want to get the course for free, find it on Youtube:
https://www.youtube.com/channel/UCRjTEkDLPREZNlREZMlotMQ

Wednesday 14 October 2015

Python Webdriver perform mouseover - hover over an element

Follow simple example below done on site http://www.flipkart.com/. Mouseover is done over menu item ELECTRONICS. Have fun

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
#
driver = webdriver.Firefox()
#
# Test Page = http://www.flipkart.com/
#
driver.get('http://www.flipkart.com')
#
electronics_lnk = driver.find_element_by_xpath('/html/body/div[1]/div[1]/div[2]/div[2]/div/div/ul/li[1]/a/span')
#
hover = ActionChains(driver).move_to_element(electronics_lnk)
driver.implicitly_wait(5)
#
# Pop-up msg appears we need to get rid of it via ESCAPE key
hover.send_keys(webdriver.common.keys.Keys.ESCAPE)
#
driver.implicitly_wait(5)
# mouseover is performed over menu ELECTRONICCS
hover.perform()