Friday, March 11, 2016

Communication - it's very important in recruiting people

One of the common part of our professional life is we get mails from recruiters time to time regardless whether you are looking for job or not. Sometimes we read the mail, sometimes we just read the subject line, sometimes we quickly scan through. Either Way when you are not hungry you don't feel appetite for any food. Similarly, if you are not looking for any job, certainly you won’t give any importance to those job posting.

Typical positing says -

I have an urgent requirement with one of my clients, details given below. If you find your self suitable for the position, please send me your latest updated resume along with contact details. Please include your employer details as well.
Test Engineering
Norwood, MA
12+ Months

POSITION OVERVIEW:
Candidate will assist with automated test creation and maintenance in a Team Foundation Server test automation framework, working with Test and Development Engineers. Candidate will perform automated test activities for designing and implementing Automated Test Scripts for inclusion our automated test framework. …………………..

Problem with these kind of mail, is they sent this mail via bot and did not even bother to look for whether it matches your resume or not. Mail on matching few keywords… I’m a full time employee in a senior position, and when i see this kind of mail which is contract and entry level, obviously not reason to look any more. Look at the tone of the mail, you have to suit yourself. Sometimes they should read what they are sending to people.

I was a student of Business field. Business communication was one of the 101 course. When your company rely on hunting people for jobs and get commission on it, your first correspondence is really important to your client. [In General / common term, first impression is always vital].

Recently, I came across one mail that I could not ignore. A mail that makes you feel important and provokes you to explore opportunities. Read the following mail...

“I suspect you’re happy where you are, or you may be looking for the right opportunity, but you keep coming up as an extremely qualified candidate for a XXXXX position I am trying to fill.

I am working for a high-profile, well-respected company in the XXXXX area who is looking for an individual who is a very seasoned and experienced XXXXXX. That brings me to you.

And for the right person, they will roll out the “red carpet” and will very generously relocate you.

Judging by your resume and background, you may not be on the job hunt but I felt it necessary to contact you to see if having an exploratory conversation about this open role would make sense.

Please take a look at the job description below my email signature.

I look forward to hearing from you. I appreciate your time and consideration,

When you get this kind of mail, you being appreciated and praised, as a natural reaction you will spent time to look into it further. It’s not about the job, it’s about the person who is communicating with you, NOT corresponding with you. Now what that person is talking about the red carpet we can ignore that part, but the rest of the part is super OK. Little things matters, sometimes, a lot.

Why did i wrote it, it’s a part of my QA life, getting mails (gghhhrrr) from them and this blog is about QA life not about QA methods/ process etc.

Thursday, March 10, 2016

Basics of Software Testing - Part-VIII : Firmware Testing with example

A little background about this - Each person may have their own way of testing or finding issues. They may not necessarily find my method helpful to understand the basics, this is something i'm trying to generalize for the newcomers in software/ firmware testing.  My intention is to make a series out of it, if i can and get enough motivation to write the basic stuffs.

So far we know what is a software, environment, SDLC, STLC, different types of software testing. Now, we will see how to test a firmware with example. This is purely educational purpose and not necessarily this directly apply to any device similar to this. I made this up just to give example. And i’m sure they have more robust test case scenarios to test the device than what I described.

The way I generally distinguish between a Software and Firmware is, firmware runs on device as embedded software. It directly interacts with the hardware and not necessarily needed to run on operating system/ with another software.  Similar to software, for firmware testing you have to understand what a firmware supposed to do.



Let’s try to describe a functionality of a firmware of a device. It’s a mechanical device that help patient to lift of some of the body weight and helps them to stand/walk. This machine has a bar that goes up and down using a pulley and bungee rope. That bar and the harness lifts up weight of the patient. Depending on the height and weight of the patient, it can be adjusted. To adjust the height and weight we have to press the up down button on remote. To adjust the weight automatically, we will have to use the auto unload option.  When the patient is set up normally in the harness, the patient support bar is raised by pressing button A until the rope becomes tight, then the bungee plate starts to move up.  The bar is raised until the bungee plate is in the middle between the green area.  During normal use the bungee plate oscillates up and down in this middle area as the patient walks along. Auto unload is a function that auto engages when it sense it needs adjustment between patient weight and bar height so that patient can walk with the assistance. When the auto mode on, the manual up down button will be disabled since auto take precedence.

(Courtesy: Biodex - they makes cool stuff! I used this pic just to visualize the product.).  



It has a remote that control the different movement of the bar and some other stuff. Particular button is supposed to do particular things:
Press button A to increase the load.
Press button B to decrease the load.
Press button C to raise the patient support bar.
Press button D to lower the patient support bar
Press button E to engage the auto unload
Press button D to turn off the auto unload
Now, we know what the system does. Let’s try to build some scenarios that we can start with the firmware testing.

For common operation -
  1. There are few buttons, 6 of them, on remote. Make sure buttons works/ reacts with your input.
  2. Make sure when you disconnect the cable of the remote, it does not changes anything on the machine.
  3. Check the timeout of the operation. Make sure it works accordingly.
  4. At any point of time, if the green bar shoots up, machine will immediately disengage the auto mode and allow to avoid any stangle situation.

For the Unweigh load operation-
  1. Make sure that when you press the A button, it works accordingly. It should increase the load.
  2. Make sure that when it reaches the highest limit, A button does not go beyond the limit and nothing happens after it reaches the limit.
  3. Make sure that when you press the B button, it works accordingly. It should decrease the load.
  4. Make sure that when it reaches the lowest limit, B button does not go beyond the lowest limit and nothing happens after it reaches the limit.
  5. Make sure when the auto mode on- it allows to act and does not turn off the auto mode.

For the Bar height operation-
  1. Make sure that when you press the C button, it works accordingly. It should increase the bar height.
  2. Make sure that when it reaches the highest limit, C button does not go beyond the limit and nothing happens after it reaches the limit.
  3. Make sure that when you press the D button, it works accordingly. It should decrease the bar height.
  4. Make sure that when it reaches the lowest limit, D button does not go beyond the lowest limit and nothing happens after it reaches the limit.
  5. Make sure when the auto mode on- it allows to act and turns off the auto mode since it’s the override of the auto mode.

These are some test case scenarios that we can think off. Depending on how to record or create your scenarios (using auto script or anything else) is up to you.

Testing firmware may not be that interesting as software testing, but think about when you test a firmware, for this particular example, you are saving a life of a patient. If you have not tested the product correctly then it can become very much of life threatening issue. Each of us needs to do our part of our job with responsibility. I know i get paid for testing, but i would not be able to go to sleep if i have not tested my product correctly since it involves people and life.

Communication - it's very important in recruiting people

One of the common part of our professional life is we get mails from recruiters time to time regardless whether you are looking for job o...