Monday, October 29, 2012

Interviews and Fresh Graduates


After conducting several interviews  with fresh graduates it was evident that most didn’t do well due to small mistakes.  Since they are graduates, they are obviously knowledgeable candidates but lacking in experience. Whenever possible I have suggested areas of improvement which can benefit them in the future. 

So I thought of jotting down my “5 cents worth“ for fresh graduates who want to start their career as an engineer in Product Quality.

1. Bust the myths 
  • Testing is a very easy job.
  • Testing is a job you should select if you don’t get a proper job
  • You don’t need to get ready for interviews
  • Recognition is very low as a Quality/Test engineer than a Developer

Consider the points above, they are myths! I won’t go into detail but will give a brief outline on overcoming them.

Testing is only a task. There are many tasks that we need to perform to assure product quality. What is product quality? It’s the customer expectation of a product. For e.g. when you want to buy a phone, you look at a particular brand. This is because branded phones are considered to be of good quality. So as Product Quality Engineers (Test Engineers), this is our role. Do you think this is an easy job?

2. Knowing the basics

Now you know that this is not easy, so when you have an interview it’s very important to be prepared.

First you need to be knowledgeable about the post and the skills and expectations if you haven’t already obtained this knowledge through your curriculum. If you have gained the knowledge then you need to brush up. You need to be aware of the basic terminologies such as Quality Assurance, Quality Control, Testing Types, Test Cases, Cost of Quality, Automation, etc.

This doesn’t mean that you should learn everything or parrot it out. Simply, know your basics.

May be you are applying simply to find a job rather than because you have a passion towards Product Quality. Either way, you need to prepare for the interview.

3. Understand the quality aspect of a product

To become a  Product Quality Engineer , you should be able to see the quality aspects of a product. Especially in product development we have to work with new products most of the time. So we need to be able to see the quality of the products and to know how to measure it. 

As consumers we look at this aspect a lot before we buy products. So we need to do the same thing when assuring quality in our work as well.

Let me give you an example, consider a pen. You are asked to check on the quality of the product. What you should look for? 

  • Verify that the pen is built according the specifications.
  • Usability aspects such as grip, clip, size, point etc.,
  • The quality of the ink
  • Performance of the ink and point
  • All printed/embossed texts on the pen are spell checked


4. Get certified

If you are really passionate about being a Test Engineer/Product Quality Engineer, then you could follow a basic course. Most recognized entry level certifications are

  • ISTQB - Foundation Certification – Certified Tester Foundation Level



  • QAI - Certified Associate in Software Testing


So to all fresh graduates, I can say, push your paddles on these areas and the job will be yours. 

These points will help you in getting a start on your careers, but there are still more skills to be learnt in order to sustain and grow in the industry.



Monday, June 25, 2012

Things to know when testing Mobile applications

When testing using the traditional method on windows/web applications, we all know that we need to test functionality. The same concepts apply for Mobile applications for smart phones as well. As testing experts we should ensure the functionally of the application. While we perform functional testing we need to consider the following points as well.

Testing matrix

In the mobile market there are more than 835 million smart phones available and it is ever increasing. The testing matrix is complex and it is important to select the correct testing matrix as the test environment. Therefore the points below should be helpful:

  •  OS and Browser 
  •  Device model 
  •  Wireless connectivity 
  •  Location 
  •  Network bandwidths 
  •  Audience 


Screen size 

 In general we can categorize the screen size in to three.

  • Small
  • Large
  • Xlarge 


Not only the size but, we need to consider of the Dots Per Inch (DPI) of a screen as well. This is illustrated in the image below:

This is important because the icons and texts of an application will be fine on a small screen but, when the same application is loaded on a device that has more resolution and a big screen, the output will be totally unexpected. So the ‘Application Under Test’ (AUT) should be tested for these categories.


Screen layout (portrait vs. landscape)

Another important aspect in testing mobile applications is when the devices support orientation switches. Two things to consider are:
  •  Resizing UI controls
  • UI resolution
How this will affect the quality of the application is that UI controls should change the location and resize to suite the new screen size. This is dynamic and subjective from device to device. Therefore selecting a correct testing environment is very important.



Native feature

Native feature is when the AUT  accesses device features such as SMS, Email, Camera, Gallery, etc.
How AUT accesses these features are totally different from OS to OS. So it’s really important to consider and give priority where the native features/Native code is involved in.


Input methods

This is about how characters are inserted to the application. Different devices have different keyboards. Some phones have physical keyboards and some have virtual keyboards. Still others have different key arrangements such as QWERTY, Numeric keypad, Mini QWERTY etc. Some Oss’ provide features such as auto suggestion of words. Therefore this is an important aspect to be tested.

Another important area is physical devices such as track ball and stylus and these differ according to devices. It’s important to simulate the usage behavior around these to improve the end product quality.


Disruptions

Reliability of the AUT is important when disruptions occur. Some disruptions are:
  • Network delays
  • Connectivity losses (mobile/WIFI/Bluetooth)
  • Receiving calls, SMS and other alerts
These are real life situations and are highly likely to occur. Improving reliability of AUT will increase the user experience. 


Operating system updates

OS venders are empowering users to update their devices with the latest OS updates which are released often. This is important in applications which are already in the market. Performing this compatibility test early will prompt release updates of AUT so the end user will experience the quality of the application.










Tuesday, October 11, 2011

Cost of Quality

This time I thought of discussing about a concept about Cost of Quality in a product.

What is cost of Quality? The simple answer is to the cost involved in maintain or add quality to a product/service that you are providing to a customer. So how it’s important to an organization? Cost is directly involved with the profit. When cost goes down, profit will go up where revenue is constant.

Now let’s talk this topic in detail.

When discussing the Cost of Quality, there are 3 costing types involved.

  1. Prevention cost
  2. Appraisal cost
  3. Failure cost


Prevention Costs

Cost involved in preventing failures is prevention cost. There are many tasks which are performed in order to capture failures soon in the life cycle. It can be any product development methods.

Let’s have list of tasks which will cost in prevention of occurring failures,

  • Establishing a process
  • Planning for quality
  • Acquiring new tools and use them
  • Trainings to improve competency
  • Adopt best practices and leanings from past experience


Appraisal Costs

Cost involved in capturing bugs/issues in requirements, Code and the developed product before it goes to the production (end user).

Let’s have list of tasks which will cost in capturing of bugs/issues,

  • Perform requirement reviews, code reviews, inspections
  • Performing different validation types such as Unit, Integration, System testing, etc
  • Fix identified bugs/issues


Failure Costs

Cost involved in all associated tasks after a defective product released to the production (end user).

Let’s have list of tasks which will cost in failure,

  • Cost in correcting the product requirements if those didn’t meet first time
  • Cost of maintain the product
  • Having a help desk
  • Paying penalties for defective products
  • Law penalties due to Safety issues



Reference: CBOK 6.2

Saturday, July 30, 2011

How to be a leader

This time I’m sharing my ideas about how you can be a successful leader. There are two questions that I want to pop out.

1.How you can be a leader?
2.How you can earn the respect as a leader?

I like to quote one of favorite mottos from our CEO. “Leaders are not born, Leaders are trained”. I believe the saying. But you should have a proper set of skills to become a good leader. Anyone can be a leader but everyone can’t be a successful leader.

Leadership is coming with great responsibilities. So it’s not a jewelry that you can wear and show off to people as well as it is not about the authority. So handle these responsibilities with care.

If you want to be a leader to show off, don’t ever try to be one. Then your team or the company will reject you and you will be in a deep trouble. Another issue in some people is that they try to control people or try to show their authority. People try to show their authority when they can’t lead the team by setting examples. Another weakness of some people is that they try to be leaders by back stabbing. If you are in one of these categories, it’s time to re think. Otherwise your team will not move a single bit towards objectives.

Leaders should be people who facilitate the required environment and providing necessary guidance to achieve the set of objectives for a team. So to archive those objectives, you can’t do it by yourself. You need to guide your team to archive that and you need to lead the way by showing examples. Most importantly the credit should go to the team. You shouldn’t expect the credit for archive objectives. People who are not good leaders, they try to get the credit for the work which done by the team and try to sustain by using those.

So how you can become a leader? You need to work for that, you need to be trained for that. So you need to train on the required skills and you need to use those skills. While you excel those skills, you will automatically become a leader. People will gather around you and they will look for you. This is where people will start to respect and treat you as a leader.

If you can’t expert the required skill set due to the lack of commitment, then you should not deserve that role. First, you need to understand your strengthsas well as weaknesses and then you need to work on those areas where you need improvements. If you can do these adjustments, believe me you can be a successful leader sooner.

Please think again and react before you become a pain to someone.

I end this article with couple quotes and i will meet you again with an article of 'Required skill set for a successful leader'

“And when we think we lead, we are most led.”
~Lord Byron

“A leader is one who knows the way, goes the way, and shows the way.”
~John C. Maxwell