Monday, October 8, 2012

5 Months Testified

It’s been around 5 months working as a Quality Analyst. In these 5 months I have learned many things. Many tasks had been assigned to me which were completed successfully. The tasks that includes preparing test documents, test cases, bug reports & various other related reports. There are many important things I learned that I want to share with the new comers on my blog.


Quality Assurance OR Quality Control

Make sure before you join what are your responsibilities on the job. Quality Assurance and Quality Control are two different terms but in Indian IT companies, the truth is something different. In general, Quality Assurance is responsible for maintaining quality throughout the process of development, right from the project kick-off to the Acceptance testing. Testing is a part of Quality Assurance. Quality Control deals mainly with the testing of the developed product.

In India, the position mostly found is Quality Analyst or Software Quality Analyst, but what are the responsibilities of a QA, you need to confirm before joining. I was lucky I got the position in which I am getting opportunity to learn and implement the whole quality assurance process. I got a friend, who is also working as QA in some company and his work is to just create & implement the test cases. He is happy with it, YOU MAY NOT BE.


A Big Responsibility

When I was in my masters, I used to hear that testing is not an important task, it's an easy task, will have to invest lesser time, etc. Let me tell you people, if after listening to those things you want to come in testing, DON’T DO THAT.

First, it is definitely not an easy task, the developer had invested hours in developing a functionality, checked it thoroughly, the Senior Developer/TL has reviewed the project and then it comes for testing, and you need to find bug in that code. It’s definitely NOT AN EASY TASK.

Second, the responsibility is not less in this job. If you have tested a website and said that it is ready to go live. After that if from the client’s end a bug is found, which was not found by you, BE READY FOR RED EYES. Definitely, it matters that whether the bug was due to sales department, designing dept, development dept, etc. but why was it not caught by the QA Department will be the biggest question. Be ready to answer that.


Not Just Testing

Testing is an important part of a QA’s job but it is not the only important part. When the projects comes to the QA department and the bug report is filled, than it becomes responsibility of the QA department to take care that all those listed bugs has been properly solved. This sounds like a cup of cake but trust me it’s not.


Working With Developers

This is probably the most sensitive and difficult task that a QA executive handles. Getting the bugs solved by the developers is not at all an easy task. You will get replies from the development team such as It is not a bug, It doesn’t affect the functionality, It is a default bug we do not solve that, Its third party extension bug, It is not possible to solve in IE 7, It doesn’t appear in my pc, etc, etc, etc. the list continues.

There are two steps to deal with these issues.
Step 1: The QA executive need to be firmly confident that the bug listed is a valid bug and need to be solved.
Step 2: The QA executive should stand for his/her decision taken in Step 1.

 These two things are very important for getting bugs solved from the development team. The QA should also continuously follow up the bugs which are kept On Hold by the development team.


To all the Quality Assurance & Control Department people, I just want to tell you one thing….
BE PROUD of What You Are Doing :)

Thursday, October 4, 2012

Unit Testing

In testing terminology, the smallest testable part of the code is called Unit. Unit testing is the testing technique in which the units of code are tested to check whether they are functional according to the requirements or not. The code is tested thoroughly, thus we can say that it comes under the White Box Testing method.

Unit Tests are generally written and performed by the code programmers. It ensures the programmers that the piece of code they wrote is proper and functional.

Unit Testing also proves to be very useful at the time of integration. If the programmer has unit tested the program properly, the integration-time issues generally doesn't show up and if they do show up, they are solved too quickly as the programmer has a clear idea where the problem resides. One should keep in mind that a properly done Unit Testing makes the integration easier, but it doesn't replace the Integration Testing which is a very important part of the testing phase.

It is obvious that a small bug in a code, if left unsolved, can grow into a big issue as the system and code grows. Thus if a programmer solves the bug at the initial level through Unit Testing the code, it saves the extra time and efforts that the programmer will waste in solving the same grown-up issue at the later stage.


Advantages
  • If any error exists in the code, it is found and solved on the very initial level.
  • Proper unit testing makes the integration process easier.
  • It reduces the work load of QA department. If the Unit tests are properly done and test cases are maintained, the QA people can focus on other important aspects of testing the system.

Disadvantages
  • Unit Testing can be time consuming and tedious. Patience and dedication is required on the part of the development team.
  • It is not possible to find the integration bugs, system bugs, etc in Unit Testing


Unit Testing is a very important part of software development as it ensures the quality of the software from the beginning.

Wednesday, September 19, 2012

White Box Testing


The White Box Testing is also known as Structural Testing, Clear Box Testing, Open Box Testing, etc. White Box Testing is a technique where the tester tests the software’s internal coding & structure. The reason behind its name is because in this type of testing, in eyes of a tester the whole system is like a white box and the tester can look everything happening inside with the code when the system/software executes any task.

In simple words, during White Box testing, the tester tests whether the code is working perfectly. The tester should have a clear understanding about what exactly the code does before starting any type of White Box testing.

The tester in White Box Testing gives some input data and then check the data flow, as well as how the system/software is reacting to the data supplied at each and every point in the code. It is then compared with the pre-defined functionalities of the system. Testing is done by giving various inputs and checking whether the result is the pre-defined output or not.

Click here to read about Black Box Testing 


White Box Testing Levels

White Box testing methods are implemented in the following levels of testing:-

ü  Unit Testing
ü  Integration Testing
ü  System Testing

White Box testing methods are used more in the development and integration phase of the system development.


Advantages

§  Thorough testing is possible.
§  Testing can be started as and when the code is ready, even before the front end is created.
§  Through White box techniques, even the smallest bugs can be tracked and later solved.

Disadvantages

§  White Box Testing is essential but time & resource consuming.
§  This type of testing can be really difficult and redundant if the requirements keep on changing frequently.
§  Not easy for testers to understand codes. The testers who don’t belong to the programming background find it difficult to understand what a block of code wants to say.

I hope this article will help the new comers to understand the concept clearly.

Wednesday, August 15, 2012

Black Box Testing


The Black box testing is the testing method in which the tester does not know the internal design/structure of the functionality that is to be tested. It is also referred as Behavioral Testing.

In this method, the tester is not concerned about the inner structure of the system/program; the tester assumes it as a Black Box, he just gives input to the box and gets output from the box. That’s the reason why this method got its name “Black Box Testing”.

Click here to read about White Box Testing 



Black Box Testing Levels

Black box testing method is implemented on all the basic levels of testing. You can use Black box testing in:
  • Unit Testing
  • Integration Testing
  • System Testing
  • Acceptance Testing
As the system starts getting more and more complex, Black box testing is used more.

Advantages
  • Test cases can be prepared as soon as the specifications are finalized even before the programming starts.
  • Black box testing can be done by the testers who have no knowledge about the programming stuff.
  • Testing is done according to the END USER’s point of view.

 Disadvantages
  • If the specifications are not clear, preparing test cases becomes very difficult and misleading.
  • System/Program cannot be tested thoroughly.
  • Limited number of tests can be performed based on the inputs & outputs of the program that is to be tested.

Saturday, July 21, 2012

Ideal Test Case Format


          Designing a Test Case Format was among the first tasks given to me when I joined my first job as a Quality Analyst. I searched the internet and found many ready-made formats. But as I have said in my previous post that test case format varies from company to company depending on the type of solution they offer and also on their development process models, etc. Because of these reasons, I was not able to get a format which suits my company. So I decided to make a new format. It was a heck of a job but at last I was able to make a format which suits my company and its development process.

          Anyways, that’s a different story, but all these stuff inspired me to create an Ideal Test Case Format & upload it on my blog. The sole reason to do so is that it will/may help the new comers in the Quality Assurance/Control field if in case they face the same situation as me.

IDEAL TEST CASE FORMAT

TC ID :

Date :

Project Name :

Module Name:
Author :

Tester :
Objective :


Pre-Requisite :


Steps :



Input Data :


Expected Results :




Actual Results :




Status :


Bug ID :

Remarks :






This format can also be converted & managed in Excel format. Lets discuss the fields in brief:

TC ID :- The unique test case id

Date   :- Date of creating test case      

Project Name  :- Name of the project

Module Name  :- Name of the module to be tested

Author  :- Name of the person who created the test case

Tester   :- Name of the person who tested

Objective  :- The objective of the test case (for eg. Verifying & validating the login page)

Pre-Requisite  :- The pre-satisfied condition for the test case to be executed

Steps  :- Steps to be taken to execute the test case

Input Data  :- The data input valued for the test case

Expected Results  :- The expected results

Actual Results  :- The actual results achieved

Status  :- Pass/Fail

Bug ID  :- Bug Id (Is the test case failed)

Remarks  :- Remarks (if any)

I hope it will help the one who are new to the Quality Assurance/Control Field.

Wednesday, July 18, 2012

Importance of Test Cases

Test Cases are considered as one of the most important part of software testing. It is used by the quality team, development team as well as middle management executives. So why are they so much important? Or the question should be what makes Test cases so much important in the whole Testing/Quality Control/Quality Assurance process.

Test Cases: What are they anyways..??

If we look at the Quality point of view, then Test Cases are the conditions through which one assures that the product tested is up to the mark & ready to go live or not.

If we look at the tester’s point of view, Test Cases provide the condition through which he/she Validates & Verifies a particular functionality or feature of the system.

In general we can say that a test case tells us what need to be done to test a system. It gives us the steps which we executes in a system, the input data values which we enter in the system, it also gives us the expected results which should come when we execute a particular test case.  

Ideal Test Case Format

            One should be very careful while designing a test case format. Different companies design test case format in their own way which suits them. But what is an ideal format for a test case. Let’s have a look

·         Test Case ID
·         Project Name
·         Module Name
·         Pre Requisite
·         Steps
·         Input Data Values
·         Expected Results
·         Actual Results (according to OS & Browser’s)
·         Status
·         Bug ID (If Bug found)
·         Remarks

The above listed points are essential for any good test case format. One can add or delete the points as per the requirements.

Importance of Test Cases

            Test cases organize the whole testing process. If the test cases are prepared keeping in mind the requirements of a particular system then they really helps a lot in checking whether the requirements are fulfilled or not. While doing ad hoc testing, one may neglect or skip a functionality or a bug which will definitely be caught when the system or site will be live or when it will be tested from the client’s end and it is going to affect the company’s credibility.

            We have heard from Big Brains that no software is bug free. But care should be taken so that all the possible bugs should be eliminated from the system before it goes live. Test cases helps a lot in this. With the help of proper test cases, a Quality Assurance/Control Executive should make sure that the system’s features & functionalities should be working fine and are bug free.

Monday, June 25, 2012

Manual Testing / Automation Testing

First question that comes to a fresher’s mind when he(or she) joins the quality & testing field is that whether he should go for the Manual Testing or he should go for the Automation Testing. The same question came to my mind also when I joined my first job as a Quality Analyst.

So as I always do before taking any step about my career, I tried to gather information about both of these types. If we see in the market today, we will find (n) number of Test Automation Software Tools, some are free like Selenium and some are expensive like Quicktest Pro, IBM/Rational Robot, Telerik Test Studio, etc. But before going forward let’s understand what these terms actually mean.

Manual Testing

            In simple words, Manual Testing is a process where the tester interacts with the application as an end user and uses each and every functionality of the application to ensure that the application is bug free and behaves in a perfect and pre-decided manner. To optimize the manual testing process, the tester follows Test Cases written before the testing process starts. These test cases help the tester to completely test the whole application.

Automation Testing

            Again in simple words, In Automation Testing, the tester uses a test automation tool to test the application. Thus in automation testing, the tool or we can say a program runs the another program which is to be tested. The test automation tool gives input, conditions, etc and test whether the application behaves according to the pre-decided behavior or not.


            I talked to my friends working as a successful QA’s & Testers in the IT industry. And I came to know that whether we should use Manual Testing or Automation Testing, this decision depends on many factors including what testing we are going to perform as well as on the type of the application, the complexity of the application, the size of the application, etc.

            Today, there are many institutes offering testing courses which will help the students to get job in the Quality & Testing field. So the people coming in this field knows how to operate the software automation tools and how to write their scripts.

BUT DO THEY KNOW HOW TO TEST?”

I talked to one of my friend who is a Senior Quality Officer in a Multi-National company; I asked him that should I start learning & implementing the test automation tools. The answer I got was quite simple & understandable. He said that, “At the start of career, one should never start using test automation tools, rather one should implement manual testing as it will help him understand how testing should be done. Once a person is confident that he knows the soul of the testing process, he should go for using test automation tools.”

            After listening to this very good & experienced friend of mine, I became sure of what I have to start with. Manual Testing is the word. The newbies in this field should start with the Manual Testing is what I think and yes when you think you know how to test, you can use the test automation tools to do that work for you.

“Test Automation Tools should be used as a support tool but the main thing that should work when the tester tests is the Tester’s Mind.”


Friday, June 15, 2012

Browser Compatibility Testing


The first task that was given to me in my company was to do the browser compatibility testing of one site. As a fresher I got to know many things about the Cross Browser Compatibility Testing. I would like to share it.

 Variety of Browsers

In today’s internet world, there are many browsers available for a user to surf the websites. The most used browsers today include:-
Internet Explorer (IE 9, IE 8 & IE 7)
Mozilla Firefox
Google Chrome
Safari
Opera
There are many more browsers available in the market, but majority of the users’ uses one of the above mentioned browsers.
  
So… What’s The Issue?

          The problem starts when different users’ uses different browsers to surf a single website. Different browsers have different standards set by them to read an Html or Css code and display it on the screen. We are very grateful to the W3C and Web Standardization, because of which the differences between these standards are minimized but they are not finished yet.
The same designing code will act differently when executed by different browsers. And it can act differently up to an extent that sometimes a particular functionality stops working in one or more browser but it works perfectly fine in other browsers. Sometimes the text alignment changes, sometimes designing changes completely, etc. etc. Ultimately these problems can present the site with a messy look. These small (as well as large) problems can affect the end user’s experience interacting with the site up to a great extent, because the functionality will come next but if the designing & looks of the website is not good/decent/beautiful/catchy/professional, the user will… Just Close It.

Reason for This Issue

           There can be numerous reasons for cross browser compatibility issues. The smart developers always follow the defined standards while developing the website. But still there may be a small css block or a particular Html extension which can cause issues. Sometimes even the users have set some configurations in their browsers like font size, screen resolutions, etc. that can cause problems. But that’s not our point. Here we will discuss that what points should be kept in mind while doing a Cross Browser Compatibility Test for a particular website.

Important Points in Cross Browser Compatibility Testing

           I implemented this test on Internet Explorer (7, 8 and 9), Mozilla Firefox & Google Chrome. I have done it numerous times in my colleges and in my project companies but this was the first time I was doing it on job. While doing the cross browser compatibility test as a fresh tester, what I realized is that the latest browsers are having very few chances for these cross browser issues. I noted that the code was running and executing almost same on Firefox & Chrome Browsers.

          The IE Browsers were having much trouble. IE 9 was having the least issues. But if u run the same page in IE 8, there were some differences. And when you run it in IE 7, things starts getting messy.

          Slowly and gradually, it started getting clear to me that which browser is more prone to error for a particular functionality. It may sound surprising, but I did found some bugs in Google Chrome too.

          I listed all the bugs, checked it again by reproducing them, and carried out the procedure of reporting it to the development team. At the end, most of them were solved. ALL’s WELL THAT ENDS WELL




Friday, June 8, 2012

Hello World :)


Hello World,
          Or the Internet World I should say :)

WHO AM I..?

My name is MohmadSoyebAlam S Ansari. In this “Mohmad-Soyeb-Alam”, this entire name belongs to me only. My friends call me “Soyeb”. I have just completed my MCA (Master of Computer Application) from S K Patel Institute of Management & Computer Studies, Gandhinagar & I live in the beautiful and vibrant city named Ahmedabad in the state of Gujarat (India).

MY VIEWS ON BLOGGING

This is my first experience of creating a blog and writing something on it. I use to wonder what is the benefit of writing on blogs, acc’ to me it was just like you are throwing your words in the Space & you are not sure whether they will be heard by anyone or not. This was my stand from last many years. And this stand changed completely when I entered the 5th semester of my MCA, I got the first Industrial Project, had to work in the industry, and then I came to know the importance of those Thrown Words. I started reading & following blogs regularly as I used to get much IT-Conceptual & Programming knowledge from them. And as I have done both of my projects in PHP [ 1)Joomla  2)Zend Framework ] and as PHP is having strong support on the internet, I got the answers of many such question from the internet blogs which sometimes my faculties were not able to answer.

HOW I GOT MY JOB
            
          Just 1 week was remaining for my Final Project Presentation & Viva, and like everyone else I was looking for a job too. I called one company; the HR talked to me and gave me an Interview Appointment. After a couple of rounds, they told me that they will give me a call & they do called and asked me to come for a final interview just one day before my Final Presentation.

          I remember that day; it was 4th May, 2012(Friday), a hot day as usual. There were still some final touch ups remaining for the PPT I prepared for the Final Preparation. And I went to my final interview. I reached there at around 11.30 am. The HR called me, talked to me a little usual stuff & then asked me to take the decision. The decision which was going to be the most important decision of the 3 years of my MCA Studies. The HR gave me two options,

“Whether you want to go for the position of a Programmer or you want to go for Quality Analyst?”

She explained me the pros and cons of both the positions and my future in both positions, etc. etc. After listening to all those, I was totally confused. I was just able to speak one sentence (Question rather)

“Mam, Can I make a call please?”

She smiled and said “Yes”. I called the person whom I consider as my Guru, Prof Rakesh Bhatnagar, the Coordinator of the MCA department in my college. I told him the situation, he asked me some few basic questions and that’s it. After a small (but very important) 15 minute talk with him, I know what answer I had to give to the HR. I went straight in and she asked me again and I replied,

“I want to make my career in the Quality field.”

She smiled. And then again my Interview process started for the Jr Quality Analyst’s position and at last I was selected for that position.
So I got the job as a Jr Quality Analyst in the company where I joined just before a month.

WHY AM I BLOGGING?

         This is the start of my career as a Quality Analyst. The problem which I faced as a starter was/is that I was not able to get any blog (May be I was not able to find it) where I can get the experience & events of a Quality Analyst from the beginning of his/her career.
            
           So I thought let’s do it myself.

My basic concept for creating this blog is to share the knowledge and expertise as well as experiences that I will gain through my career. First as a FRESHER junior executive, then as a LEARNER, then as an ACTIVE person in this field, further as an EXPERIENCED person and may be after that as an EXPERT (Let’s hope, Fingers Crossed ;)