blog_banner_image

Making Software Testing your life story!!

Graduate? From a small town? Looking for a job? And struggling to make the ends meet?
It is a very common story these days, So, I will not reiterate the story, instead, I would like to start off by sharing the next part of this story, which happened with me, and changed things for good.

Hi there! Welcome, this is Rakesh.
All this is to share my journey towards career. The struggle started during my Engineering, because we hardly had any company visits, placements, let alone the MNC’s, even the call centres never dared to organize placement drives. By now you might have visualized what kind of an unused brain I might have had back then.

So, I graduated as a Petroleum engineer and then set out to work as Oil and gas well test engineer, on an on-site project in Barmer, Rajasthan with Cairn India Pvt Ltd.

Yet I came to bangalore as you guys came because of the strong recession in the field of oil and gas industry in the whole world, and I didn't actually rush, because I didn't know where to go, Where would I have even gone, to work on pan shop, hah! may be because they were at least earning and they had a financial standing of their own.

I was calm, composed, chill &  “null / 0” actually. Some of my relatives suggested me to join XYZ coaching classes for "Manual Testing" saying “hey! it is very simple to start for the newcomers to this industry and further you can also learn Automation Testing as well, you just see a friend of mine is earning so well and has gone to client's site in USA twice, Don't think of it as small start, it leads you to the employment at least”, my relatives suggested me.

Selflessly, I took the decision of attending a batch of 300 attendees, Still I was recognized in the class where eventually it became a family, Completed manual testing in more than 4 months and Automation in 6 months, seems like Diploma course right!! Where I would have actually completed both in 3 months at a stretch with an ISTQB (International certification for Testing).

Got 1st call for the interview in 6 months of joining through the coaching institute, Once I approached them after clearing the tests and dummy interviews, Where naukri, Monster-jobs, Time-jobs were neglecting the freshers.

I also went to pay thousands to the consultancies where they gave actual interviews wherein, the companies were only unknown for the interview schedules for the day.

Lost faith in self, dragged my legs to the interview rooms, as results were understood "You can leave for the day our HR will GET BACK to you" , who never will for sure!. Some companies didn't have HRs itself, still the same useless statement.  I started teaching in the same institute by taking the fast track classes for free to eliminate the “fear of facing” in me, and guess what, it all went well.

On the 17th interview for which I knew the results that I am not gonna selected in Teknotrait, from GDs till 3 one on one exhaustive sessions completed, I slept on the chair in the evening, when QA Lead comes and asks me to come in the cabin, and leaving me in shock how I got selected and all the official talks went on.

After spending 2 years in the industry, I have realized one thing that it is very easy to get the job in the market once you have working experience with real time projects. Hence, I decided to open a wing where I will be helping fresh college graduates to gain that real time industry experience. I am enthusiastic to share all what have been learned so far. So here am I, to share what this software Industry has a craving of, “Skills”.


Let me know if you guys are interested to grab some real time project experience. If yes, I welcome you folks for a fresh Pilot Batch, limited seats up-to 10, Get yourself registered first by clicking the link below.

Chalk Tok Enrollment Form

Standard end to end Quality Assurance Process

Strategy (Test types)

Following test strategies are going to be followed:

  1. System testing: New functionality shall be tested using manual approach. This shall include backend system, frontend system and integration points like Rest API using Swagger UI. This testing includes following type of testing: sanity testing, smoke testing, regression testing, functional testing etc.

  2. Automation testing of UI & Functionality: With the help of Selenium WebDriver, regression testing shall be automated. This is to test the UI and functionality of backend and frontend system.

  3. API testing: Rest API testing shall be introduced later part of the test cycle. This can be done using SOAPUI-community version software.

  4. Performance testing: Performance testing needs shall be performed once we reach a deliverable point. This shall be performed using JMeter.

  5. Usability testing: Usability testing shall be performed using manual process (on actual device and emulator testing) to check the easy access of the application.

Build cycle & environment available

It is never recommended to push the code directly to production. A stage and QA environment is preferred / recommended. Stage can be made optional if QA can be acted both as stage and QA.

Recommended process

  1. QA should be notified for a new availability of the build. A brief about current changes (a change note kind of).

  2. Once notified, QA shall take the latest version of the master and deploy it to the QA server.

  3. Once QA finish the testing on QA environment, it shall notify back with the test result.

  4. Based on test result, decision has to be taken for stage deployment. Once tested, the build manager shall push the code to production server.

  5. Smoke test on the production and sign-off.

Test management

Test deliverables are being managed through different tools. Following are the process being recommended by QA:

 Requirement document management

  • Requirement can be drafted during bug scrub meeting/scrum kick-off meeting.

  • The same can be drafted/shared using different tools like words, wireframe designs, pictures of UI design etc.

  • This can be managed in a repository [Like Google Drive or DROPBOX etc.]

 Test Case/Test Scenario management

  • QA shall write test scenarios on excel sheet and shall store in a common place so that it can be referred on later stage. [Currently we can manage with Google drive/DROPBOX]

  • QA should be involved in initial stage of requirement discussion so that test case development can be a parallel and effective process.

Automated test script management

  • Selenium code shall be written in Java using eclipse.

  • Code shall be managed in project BITBUCKET/Github/GitLab. [This is to be discussed with stakeholders].

 Test Results

  • Manual test cases shall be executed in excel sheet itself and result shall be shared in central repository.

  • Automated script shall be executed through manual intervention. In future, we shall try to integrate it in the delivery line as continuous integration and continuous delivery process.

Bug Management

  • Bug shall be logged in an identified tool (like bugzilla, mantis, trello, Jira, Asana etc.)

  • I recommend Jira as bug reporting tool.

  • Bug must be followed by a standard bug cycle.

  • Bug has to be given right priority and severity marks.

  • It should be assigned to the right person so that action should be taken promptly.

  • It should be followed to the closure and should be tracked by the QA engineer.

continuous integration

Automated code can be executed on code push or based on scheduler through any CI tool (Like Jenkins).

Bug cycle proposed

A typical bug flow is like below:

Steps:

  1. A new bug once identified shall be assigned to a designated engineer and shall be marked opened.

  2. If the bug is valid, it shall be fixed by the engineer else it should be either rejected/deferred.

  3. Once fixed, it should be assigned to a tester. Tested test and based on the result it marks it to reopen/verified.

  4. After the bug being tested in all required environments, it can be marked as closed.

 Bug Label introduced to support this:

  1. Open – New and Assigned (Any team member)

  2. Resolved – Bug resolved in Dev Environment (Developer)

  3. Ready for QA – Any feature or bug is ready for testing

  4. Tested in QA – Bug tested in QA. (QA engineer)

  5. Deployed in Prod – Optional step – if the bug is environment dependent. (Developer)

  6. Tested in Prod – Optional step - for special bugs. (QA engineer)

  7. Reopened – Bug has been marked as opened/reopened. (QA engineer)

  8. Rejected – Invalid Bug (Developer)

  9. Deferred – Can’t be developed in current cycle or current scope of the product. (Developer)

  10. Closed – Bug has been verified and tested in required environment. (QA engineer)

  11. Note: Recommended bug life cycle for Jira is updated in Jira Process document.

Tools recommendation

Bug tracking tool:

  • Jira

CI tool

  • Jenkins

Other tools

  • Web UI automation tool - Selenium WebDriver

  • Rest API test – postman, runscope

  • Performance Testing - JMeter

  • Build Management - Maven and TestNG etc.

Questions & Risk

-----To be entered------

-----------------------End of document-------------------

 

How to Setup Custom Dashboard in JIRA

Jira is a proprietary issue tracking product, developed by Atlassian. It provides bug tracking, issue tracking, and project management functions. This blog will help you to create your own dasboard and cutomized filters as per your project requirement.

 

Part I: Creating customized Filters in JIRA:

Follow the steps given below for Filter creation-

1. Open the JIRA with correct url.

2. Login with valid credentials assigned.

3. Go to “Issues” from the header of the page menu.

4. On the left hand side of the page , there will be a options “new filter”.

 

5. After clicking on the “new filter” , Fill in the following fields.

  • Project : - Select the project name.
  • Type: - Select the option which want to link e.g Bugs , Epics , Story etc accordingly.
  • Status: - Select the status according to the bug life cycle followed in project , Like In progress , Done , Accepted etc.
  • Assignee: - Select the assignee to whom ever want to assign the issues.
  • More: - Select the options like summary , epic link to complete the filter creation. Once we click on the summary a tab will be open enter the filter name and click on update.

The newly created filter will appear in the list of filters (Favorite Filters).

Part II: Creating Dashboard in JIRA

Follow the steps given below for Dasboard creation-

1. Click on the dashboard from the header. Then click on manage dashboard option.

2. Now click on the option Create dashboard.

3. Enter details eg-
    Name: Page level bugs dashboard,
    Shared with: Select Public from dropdown.
    Click on Add. Click on Create.

4. The created dashboard will appear in Manage Dashboard screen. Click on the newly created dashboard.

5. Click on the “add gadget” button.

6. List of gadget for the boards will appear.

7. For more option click on the “load all gadget”

8. Search the option “Filter results” . Now click on add gadget.

9. The board will come along with the options-

  • Saved Filter: - Click on this field and the filter we have created will appear.(Steps to create filter in explained above) Select the filter.
  • Number of result: - Enter the digit e.g 10, it will only display 10 results.
  • Column to display: - we can attach or delete the column e.g summary, issue type and priority etc.
  • Auto refresh: - Check this option to refresh the board with the time period selected.

10. After filling all the information, click on the save and the dashboard will get added to JIRA.

 

 

Retrieving and Understanding Crash Logs

According to a survey by Dimensional research, if an app crashes, freezes, or has errors, 53 percent of users will uninstall it. Whether you are troubleshooting app crashes , beta testing in app, or you just want to help a developer out after you have discovered a particular bug, you can retrive crash reports from any app on an iPhone, iPad, or iPod touch device.

This blog helps you out to generate crash logs/reports from IOS and Android devices and educate you in understanding the crash reports.

Steps to retrive crash logs from iPhone/iPad

Platform - Windows:

-----------------------------

1. Connect the device (iPhone/iPad) to the system.

2. Open iTunes and sync the device with the system.

3. After syncing, press Windows+R.

4. On Run Window , enter  %appdata% and press  Enter.

5. Navigate to Roaming > Apple computer  > Logs > CrashReporter > Mobile Device > *Device Name*.

(Note: your device name appears in iTunes on the left side , under 'Devices')

6. You will find the crash logs with the file type "CRASH File".

 

Platform- MAC:

-----------------------

1. Connect the device (iPhone/iPad) to the system.

2.Open iTunes in MAC and sync the device with the system;

3. Open Finder(found in the Dock).

4. Click on the 'GO' menu at the top of your screen , and select 'Go to Folder'.