Monday, February 17, 2014

Thanks to Selenium

         Many times it's happened with me (as it  happens in every team) that our team have very short time for demo,and unfortunately got a issue at very peak time.Developer fix it,then play of tester starts.Tester has to test in following  scenarios 

1)Either issue has been solved?

2)Either all other operations are performing correctly as like performing previously.

3)Any bug that had been solved, either it is again regenerated?

       For this conditions,I always used to 

1)Keep prepared short test data by major scenarios for reducing time to prepare it.

2)Using tool like meld diff for comparing stable output file with new output file.

3)Have separate test cases file with major scenarios to reduce probability of reducing major bugs.

      But being a Tester, it was not satisfactory testing also no one can be assured about surety of product.

It was a challenge,to be ready for this type of situation and perform regression testing in very short time.

 As expected,Automation using selenium helped me alot to perform regression testing and cover maximum scenarios in very short time.

It is a very simple but great idea to store all scenarios,test cases and play it when needed.

By experience,I got to know that the work of 9 hours reduced to just 15 min,by investing just couple hours in studying selenium IDE basics,and couple hours for recording test cases.

The advantages of Selenium IDE are
1)Its very easy to learn,simple.

2)If you have prepared very good testcases then by knowing only following  commands we can cover maximum part application depending on type of application.
  1.      assertText
  2.      verifyText
  3.      open
  4.      clickAndWait
  5.      type
  6.      select
  7.      setSpeed
  8.      pause
  9.      waitForText
  10.      waitForElementPresent

3)Its open source technology,no any organisation will hesitate to give permission to use it.

4) You can run all test cases in a test suite,there is no need of giving continuous attention towards running test cases.While we can give time to other very important works like chatting on mobile,listening songs,discussing about Kapil's show with colleagues. ;)

 making Testing very very happy..

As I had already prepared proper test cases,there was no any serious problem for recording test cases,instead problem of synchronising application with selenium IDE.
Selenium performs with speed as per our wish but talking about  testing application,we can't predict.

We can adjust speed according to our application by using pause and setSpeed command.

In many cases while using selenium IDE,I felt there is need of some if-else type facility for  covering complicated functionality,and got the solution in the form of Selenium WebDriver which I have started to learn from today itself.I hope it will optimise testing with reducing time and covering large part to automate. 



Wednesday, January 1, 2014

Bug Hunting and Reporting

  Is there any difference between Bug hunting and Software testing? question raised in my mind while thinking about tracing bugs.Many software tester at their initial period of career including me,thought that Software testing means only finding out bugs,is that so?

Well,my answer by half year of experience is definately NO.

Bug Hunting is just  but crucial part of Software testing.

Generally we consider software testing consist of 
1)Analysing requirement specification document.
2)Creating test scenario.
3)Writing test cases and preparing test data with respect to that scenarios.
4)Performing test cases.
5)Reporting bugs.

 Bug hunting lies between point no 4 and 5.

When we got a scenario where we feels that we can find out bug,but if that scenario is not well cleared,then finding out a clear scenario where we can produce that bug can be referred as BUG HUNTING.

Bug Hunting can not be taught,only guidance is needed, it is a skill mainly depends on logical thinking and memory of tester.

While testing, tester should ask,What will happen if I did this this ,before performing operation.

As we can create infinity testcases for any scenario,we should select high severity-high priority test cases,it can possible by only logical thinking,because we can't perform all test cases (Tester prefer this type of testing as Exhaustive Testing ).

Sometimes ,Tester got many bugs while smoke testing itself,but it becomes very difficult to reproduce that bug ,as steps are not performed according to test cases in smoke testing,thus becomes difficult to remember steps.Having good memory helps in this situation a lot.

We have many screen saver software or selenium itself for saving testing steps can resolve above problem.

BUG REPORTING is not just for informing developers about bugs.Some precautions should be taken by testers such as

1)Language of report should be simpler.
    Use simple words,Avoid complexity in sentence framing.
2)Bug report should be precise.
    Reduce number of sentences in report without affecting meaning.
3)Use polite language.Don't blame developers for bug.
4)Give 'Steps to reproduce' from the scratch,so that there will not be any confusion to developer about bug.
5)Attach snapshot wherever it is necessary.

How to reduce number of sentences to achieve precision in bug report?Again the answer is bug hunting and 'FILTRATION OF SCENARIO'.
1)Write down all steps from which bug can reproduced for own purpose in rough.
2)Try to filter scenario by reducing each possible step.
3)Find out minimum criteria for which bug can produced.

Lets take a example,
If we got a bug X with step A,step B ,step C and step D.
Then perform operations  by removing each step respectively.
If possible, then we may got the same bug with step B and Step D.
Because of above filtration,scenario reduced to minimum statements which causes to reduce time,effort and confusion of developers. so that Indirectly optimising quality of product.

Never forget,We testers are not responsible only for finding bugs but quality of product also.


Monday, December 23, 2013

Testing as a career?

          This question created a huge dilemma in my mind,after getting selected in a software company as a software tester, either to continue in this field or try for Software Development domain in same or other organization.But being on bench for one month changed my view towards Sotware testing.In this one month I went throw many software testing blogs and read comments on that blogs.

Following things I understood from these blogs

1)Software Tester is not less than any developer if (s)he is passionate about his job.

   Taking about salary:
          Many software tester have more salary than software developer of same experience.

   Talking about challenges:
          To love our job, Self-actualization should be achieved from job.In software field,it can be achieved by having responsibilities to face challenges.Tester may have important role in R&D of software,Deciding flow of software and making it more user friendly and more productive.This  is not less than challenge.

2)  Software Developer writes code by considering one user,Software Tester  test application by considering thousand ,lakhs may be crore of user.

          This line is sufficient to describe important role of tester.

3) If you are good in programming then it will count as more advantage in future as Automation testing consist of writing scripts.

          Automation testing is hope for testers those are good in logic,and eager to utilize it  but can't apply in manual testing with 100%.

4) Anybody can do software testing,but everybody can't be good software tester.
        U will definitely agree with this after getting experience of at least some months. ;)

      List is endless,But Dr.APJ Abdul Kalam's sentence really ended my dilemma.

          "Whatever you do,you should be best in that field".

     Journey has been just started,Lets learn the new interesting topics from sharing experiences.

Lets Taste Software Testing. :)