It’s Meetup season again and I was privileged to do a session on Performance Testing in Colombo Performance Test meetup organized by the PerfTest Initiative of 99X Technology. It was collaborative session conducted by me and Nipuna Madusanka, a fellow Xian.

What we talked…

Since we wanted to do something different for the meetup, (Other than the generic topics that we usually see in meetups), We thought of doing something about continuous integration (CI). CI is not a new topic, but CI integration with non-functional testing is kinda of new and cool (At least for us: D)

So after a couple of deep discussions, we decided the structure of the meetup. It was decided to have a theoretical session and a practical session. In theory session, we planned to explain the back end of a implemented solution and importance of having the CI environment.

In the practical session, we decided to use the Jenkins (a) Because everyone knows it (b) Everyone at least heard about it, Also as an additional bonus point, we decided to add Blazemeter integration part. Now, this part was something that I and Nipuna found out after a couple of research and we thought it was a really cool feature.

Challenges

Apart from countless hours of rectifying the errors in the presentation, we ran into a couple of configuration issues related to Jenkins, which was not easy to fix. However, we managed to fix those by the eve of the meetup 😀

Meetup Day

It was thrilling to have a good turnaround for the meetup. There were lots of questions from the crowd, which were really interesting (That may also be an indicator that we didn’t bore the crowd )

Aftermath

It is absolutely thrilling to see the increasing number of performance enthusiasts in the testing arena, We’ve received lots of positive feedback on the meetup.com. Lots of people tried the things we presented at the meetup, which is again really wonderful thing to see. Thank you very much 99XT Performance Test Team for the opportunity to talk in this platform.

In case If you missed the session, Here’s the link to the presentation.

This is basically a blogging platform to enable others to contribute. This concept is widely used in global arena but not in Sri Lanka. So this is my take on to implement this in local industry.What I’ve understood from the past couple of years that, Sri Lankan QA professionals are somewhat isolated among others. Especially when comparing with the other IT professionals. They are just known/recognized as set of bunch who do some verification of the application/software, or rather a final go-to-person to give OK to a release. But If you dig bit deeper, QA department of most companies is representing 10% -20% of the revenue. But we are the least recognized, Sadly!

Also when QAs are allocated to a certain project, they are there for a long period of time. On plus side, they can master the domain and be an expert on that particular domain. But again this leads to the first step of being isolated. Nobody knows what you are doing. You don’t get the recognition for the stuffs you did.

So this idea first came to address above issue. Then when I think more about this, I’ve got several ideas and I’ve decided to write all of those ideas on a piece of paper.

So basically, I’ve 05 main ideas;

Blog articles – Ideas is to be a common platform to anyone to write. May be you are a QA lead or a QA engineer or a Trainee, Designation doesn’t matter. Complexity of the article/post doesn’t matter. If you are passionate about writing about your experience then this platform will provide you the space and publish the post with given recognition/credits to you.

Provide help on exams – Everyone of us would like to do / plan to do the famous ISTQB exam. But most of us are postponing that because of a) We don’t have time b) We don’t have resources c) We don’t have the motivation.So this platform will provide the necessary motivation/resources to do. Maybe we can combine all good ISTQB resources to a one place, So anyone can refer them easily without spending hours on google.

Meetup coverage – Nowadays we have so many meetups. SLASSCOM quality circle is organizing some valuable meetups. But truth to be told, it’s bit difficult to find the time to attend those meetup. Sometimes we are having major release or a client call or may be a personal commitment. What If someone ( from the participant’s point of view ) can write ( or give a coverage ) about the meetup / or upload a video of the full meetup. then the people who missed the event can access it and get something from it.

Create a forum – We have so many question about our job, Testing methods/ Automation opportunities ? So here, we can post our problems and we can point them to right direction/right person to answer.

Expert article series – QA industry is matured, we have people over 20+ years of industry experience. We can interview them and share their experience about testing. Perhaps this will benefit to the newcomers to select the right path.

Right. So missions are defined. Then I needed a good name. I’ve got different names/ideas but finally decided to go with QA DUMMY. Of course, I was inspired by the “Dummy book series” 🙂

So with all these, I’ve sketched the basic structure. I have ( had ) a WordPress site ( http://qadummy.wordpress.com ). So rather than creating a separate web/blog site, I’ve decided to change some content of my old wordpress site to suite to new requirement.

Then came the investment part. I knew that It’s not going to work, If I go with the wordpress.com extension. So then I’ve searched for the hosting options and most of them are going to cost me around $30 – $40. After considering so many things, I’ve decided to buy the [.]com domain for a one year. ( If it is goes well, then fine – But If it is not, the also it’s fine. Simple If-else saves the life )

So when everything is done, I’ve informed my ideas to few of my immediate leads and I was received good and positive feedback. Most of them were really keen to write/contribute to this, which makes me really thrilled. Then I’ve shared this idea with my peers in my company and some selected colleagues outside the company. Good feedback from everywhere 🙂

So, My initial ideas was to run this thing for one year ( at least till [.] com domain name expires ). I will contribute to this as much as I can and I’m sure that most of my fellow QA folks will do the same. After all this is all about us 🙂

Before even go further, I must emphasize that even though I’ve listed this under the Software Testing 101 article series, This is not a testing type performed by the QA Engineers. Unit testing is performed by Developers.Unit Testing : In this phrase, a unit can refer to a function, individual program or even procedure. Biggest advantage is that by performing this, we can identify the whether the application functions as designed in the early phase. Also it can be run every time a piece of code is changed.

Bugs can be found early as possible by adding unit testing to the software development process ( or even to the CI : Continuous Integration process ). Unit tests normally runs on every day, So whenever there is a code break, It will notify to the relevant party, before it goes to the QA team.

Testing of a previously tested program following modification to ensure that defects have not been introduced or uncovered in unchanged areas of the software, as a result of the changes made. It is performed when the software or its environment is changed.

What is the purpose of the Regression Test?

The purpose of Regression Testing is to verify, if code change introduces issues/defects into the existing functionality. There are so many kinds of possible changes that can impact the existing functionality in an application system. Even the simplest change to the code could impact previously tested functionality.

When should you use Regression Tests?

As in the definition says, Regression testing should occur when code changes are made to a previously tested application. Regression test plan can help to identify the areas of focus/ important areas for the client. This can be created from the input from development team/ QA Team and client.

Regression testing can occur in :

New features are introduced.

Defects/Issues are fixed.

Database changes

More importantly, Regression testing is a strong candidate for Test Automation.

ISTQB® –This might be the most widely used word in QA community, probably after ‘bug’ ( or ‘Automation’ ) 😉

What is ISTQB?

ISTQB stands for International Software Testing Qualifications Board. They are offering set of examinations to evaluate QA professionals across the world. So basically, It’s like SCJP OCJP for Java Developers or MCTS for .NET developers.

Why people prefer to do ISTQB examination ?

Apart from using the title after your name, there are some actual benefits that you could gain by doing this examination.

A web application that behaves precisely as expected in one web browser might have some issues when run in another web browser. Application might work well in Google Chrome but not in Safari or in Firefox. Reasons for this is that different browsers render the applets, JavaScript, Flash, AJAX requests in different ways.

It’s very important as a QA professional to do a cross browser testing for a website. Recently I had the chance to dig more into this as I got an assignment with regard to this. Here are my findings in this area.

How do you conduct a cross browser testing?

Most simple way or the most common way to start would be to develop a set of check list of the functions that web site must perform & then methodically open up the web site in multiple browsers to very against the checklist.

Tools

There are some commercial tools such as BrowserStack, SauceLabs which have the capability to do the cross browser testing. These tools also can be used for the test Automation.

Test Automation is the use of software to control the execution of tests. Test Automation is the best way to increase the effectiveness, efficiency and coverage of the software testing.

Manual software testing is done by a human sitting in front of a computer, going through the set of screens/ checking the logics. Automated software testing is an alternative to manual testing, where software tools, not human executes the tests.

Most commonly used test automation tools in the industry

Selenium

Telerik

Appium

Cucumber

HP Win Runner

Test Automation benefits

Improves the testing efficiency

Cost reduction on test

Human resources are free to use some other tests such as exploratory tests

24/7 Availability

Re usability

Things to consider when doing the test automation

There are some facts/things that you need to consider before deciding the test automation for a project.

Status of the Project: Requirement should be finalized and more importantly stable. Another aspect would be the User Interfaces. UIs should be finalized, as it could be costly to change the automation suite to accommodate requirement changes/UI changes.

Resources: Skilled resources will always play a role. Building the automation script requires a programming knowledge. Also it would be good to pick a person who has the knowledge on the particular tool.

Tool: How well the selected tool support to your project? Does it have a good community support?