Показаны сообщения с ярлыком testing efficiency. Показать все сообщения
Показаны сообщения с ярлыком testing efficiency. Показать все сообщения

среда, 16 июня 2010 г.

TRT. 1st Meeting summary

We’ve finally had our first ‘Testers of the Round Table’ (TRT) meeting. Despite the fact that it got a little too formal at the beginning, we’ve managed to create a warm friendly atmosphere and had a pretty good meeting.

The following topics were raised:

  1. Introduction and memo
  2. The problem of testers’ education
  3. Bad management and inadequate customer: ‘survival’ strategies
  4. Microclimate within test team: its influence on testing efficiency
  5. Tester’s efficiency evaluation
  6. Job changing: how to make the right choice

1. Introduction and memo

Testers of the Round Table – is a community, created by testers and for testers. The goal of TRT is for testers to share ideas, discuss problems they face in everyday work, speak out about vital issues of testing, work out solutions for complex accidents.

Memo of TRT:

  • Everybody is equal in learning
  • Everybody has the right to have his own opinion
  • Everybody can choose the way of education he likes best
  • Everybody must be respected regardless whether he is right or wrong
  • Nobody can criticize and blame other viewpoints based upon assumptions
  • There is no ‘right’ and ‘wrong’ viewpoints – there are only different ones

2. The problem of testers’ education

This issue was discussed in the context of the countries of former USSR where there are no higher educational facilities that provide educational courses for testers.

I’ve emphasized the following ways the testers of the mentioned countries can acquire knowledge (each of those five points was discussed in pretty much detail):

  • Certifications as a way for testers to: a) reorganize and restructure the knowledge they have; b) gain more knowledge as they proceed with studying for certification exams
  • Getting knowledge from testing-related areas for better understanding of business domain they work with, using behavioral sciences to improve communication, applying various science principles and laws to improve testing practices
  • Forums and Communities as places where testers can find answers for some complex issues, and to share opinions on tools, practices, metrics, etc.
  • Blogging as a means of learning how to shape the thoughts into words and as a source for deeper understanding of the subject the tester writes about
  • Mentoring as a way for testers to a) share their knowledge with others who seek it at the moment; b) to learn about a certain subject from a more experienced person in live communication

After that part of conversation was over another speaker took the lead. Oxana continued on ‘Job changing: how to make the right choice’ and ‘Tester’s efficiency evaluation’.

3. Job changing: how to make the right choice

We’ve covered the first several steps (where to start from, CVs, job interviews) of the process rather quickly and focused on the key aspect of the topic: how to choose the ‘right’ company from the give alternatives. Here the opinions vary:

Oxana proposed a way to compare alternatives based on the formula

where:

Gi – parameters value (according to selected scale)

Wi – parameters weight (total of ‘1’)

I opposed that you’ll probably not consider those factors at all if you like the way your interview went, or just ‘have the right feeling’ about a company. Also there is a ‘super-factor’ (e.g. your best friend works in one of the companies that you consider as an alternative) which also can outweigh all others tied together.

4. Tester’s efficiency evaluation

The keynote of this topic was actually ‘how not to evaluate tester’s efficiency’ supported by the examples from participants’ previous jobs. E.g. one of the TRT participants has mentioned a report he had to send out at the end of each week to his manager (the QA Manager)

- Test Case coverage, % (I’m not saying that this metric isn’t any good, but in order for it to be useful tester must conduct coverage analysis on some basis, while in the case it’s almost a random number)

- Created new tests, #

- Updated existing tests, #

- Tests ran (Manual, Automated, Performance), #; #; #

- Resolved issues (in current iteration), #

- Issues created, #

- Issues processed (verified, reopened, etc.), #

As you can see, this report will better describe activities of a Quantity Assurance dept. than a Quality Assurance one.

When Oxana was done with her topics she passed the lead to Victor who raised the following two questions: ‘Bad management and inadequate customer: ‘survival’ strategies’ and ‘Microclimate within test team: its influence on testing efficiency’

5. Bad management and inadequate customer: ‘survival’ strategies

This is a situation that can happen to any specialist. So, what to do when the customer is ‘inadequate’ and your PM happens to do absolutely nothing for the team.

My advice is to turn to your managers – in the case of a tester those are the QA Manager (the person who runs the QA Dept.) and some sort of PM Manager (the person who curate project managers). In most cases these people are very adequate and intelligent, so you’ll be able to work out a decent ‘survival’ strategy together. If ‘not’, well… then you probably should start updating your CV at the moment you realize that it’s a ‘not’.

6. Microclimate within test team: its influence on testing efficiency

The keynote of the topic was being initiative, creative and pro-active. No matter what the microclimate is, a great tester is always in the mood to make a difference. You do not need to wait for someone to take actions toward achieving the goal – do it yourself. If your lead cannot handle the team – do it yourself. The tester must not be afraid of the ‘witch-hunt’ that might be initiated against him, but do his job the right way no matter what.

To summarize all written above, I must say that the meeting went well. We’ve met all the criteria that have been set up for the meeting. We’ve learned a lot and had a great time communicating.

P.S. I want to say thank you to the 1st meeting participant, so here I go: “Thank you guys, a lot!”

суббота, 12 июня 2010 г.

I've got the power... shell

While testing my projects I often have to do some amount of repetitive actions. Mostly those actions are simple, BUT they do require some time to get them done. Well, I got really annoyed by that and decided to automate those actions.

This is the moment where powershell has entered the house. The essence of my automation is to write a function, add it to powershell profiles on my local and remote machines and run it whenever I need to do the mentioned earlier repetitive actions.

Here is how I did it:

Launch powershell and create its profile by running the following command (if you do not have it already): new-item -type file -path $profile -force
Open the newly created profile in notepad using the following: notepad $profile
Write a function:
function DoSomething([string]$Param1 = "") {
if ($Param1 -eq "") {
Write-Host "You are an IDIOT!!!! You need to enter Param1 value!" -ForegroundColor Red
return
}
$A_OUTPUT = "D:\Destination\"
$B_INPUT = "D:\Files\Images\"
$C_FILE = "Info.txt"

$currentDate = Get-Date -Format yyyyMMdd
$destinationFolder = $A_OUTPUT + $currentDate

if ((Test-Path -path $destinationFolder) -ne $True)
{
New-Item $destinationFolder -type directory | Out-Null
}

$Destination = "$destinationFolder\$Param1"

if ((Test-Path -path $Destination) -ne $True)
{
New-Item $Destination -type directory | Out-Null
}

$files = ls $B_INPUT

$files | %{copy -path $_.FullName -Destination $Destination}
Write-Host "$($files.Count) files" -ForegroundColor Yellow -noNewLine
Write-Host " copied from $B_INPUT to $Destination"

New-Item ($Destination + "\" + $C_FILE) -itemType File -Force | Out-Null
Write-Host "$C_FILE" -ForegroundColor Yellow -noNewLine
Write-Host " is created"
Write-Host "Files $Param1 are reorganizes!" -ForegroundColor Green
}
Save the profile. Here you can bump into a security issue – your operating system can tell you: “you are not allowed to do that, young man”. In this case you should ask it politely:
1. Launch PowerShell as Administrator
2. Run the following command: Set-ExecutionPolicy unrestricted
3. Agree to whatever it’ll ask you :)
After this you are good to go.

Relaunch PowerShell.
Run your function with parameter Test_B13: DoSomething Test_B13
And your function copies files from D:\Files\Images to D:\Destination\\Test_B13 and creates an empty text file Info.txt for description.

You’ll get the following PowerShell response (take into account that the source location has 3 files in it):
3 files copied from D:\Files\Images to D:\Destination\\Test_B13
Info.txt is created
Files Test_B13 are reorganized!

By implementing this into my work process I saved about 50% of time on those routine tasks (or even more if working on remote servers). This time I use more effectively now.

P.S. You can take a quick PowerShell tour here

Also available in russian.

пятница, 11 июня 2010 г.

Great Testers. A viewpoint

The question of “What makes good tester a great tester?” is one of those that concern every decent tester. There is no single “correct” answer to this question, but I guess many testers do have an opinion regarding the subject. I do.

If someone asks me the question, I will mention the following points (maybe some others as well, but the following ones for sure):

- The ability and desire to learn (the great tester must be proactive and have a thirst for knowledge in order to succeed; he must learn new things every day and never stop in his quest for apprehending the art of testing)

- Strong communication skills (every tester must realize that he works with people; communication is a key to enjoying your time at work; communication within the team, communication with customer, mentoring - e.g. workshops, seminars – it’s all very important for becoming a true guru of testing)

- Understanding of QA and Testing theory (the deeper the understanding the better - good tester must be able to study and analyze the process and to introduce improvements)

- Knowledge of testing-related areas (development, management, marketing, sales, psychology - it helps to better understand the business ideas of projects to effectively direct the testing effort, to improve communication and understand the decision-making bias of other team members,…)

- Responsibility (the decent tester must be responsible for what he's doing and be ready to accept responsibility that exceeds his jurisdiction, the more complex the tasks are the more responsibility they require - the more business value the tester adds to the project)

- Attention to details (it this case I mean not only the attention to detail used in testing but the one that is used for the whole project – e.g. noticing the mood of a teammate to determine whether it’s the right moment to talk and resolve some issue)

- Organization skills (self-organization first of all, the great tester must be almost pedantic when it comes to organizing the aspects of his work)

- Stress-resistance (it’s no secret that the first one to blame in case of any kind of failure is the testers; in order to save nerves for some other occasions :) the tester must be resistant to stress)

- An open mind (out-of-the-box thinking, an excellent tester is not just using someone’s methods and theories, he tries to think of something more, he's reinventing testing in some of its aspects)
- The desire to share knowledge (no knowledge ownership regarding the project, the tester should be willing to share his knowledge and ideas with others - to make a difference)
- An enthusiasm for breaking things (that one by J. Whittaker, can listen to it here; a great tester always enjoys what he’s doing, he is passionate and inspired when it comes to testing; a great tester loves testing)