Showing posts with label Device testing. Show all posts
Showing posts with label Device testing. Show all posts

Tuesday, May 13, 2014

Story - Touchscreen display testing - One interesting finding

Testing software on PC is what most of the people are doing. I have the opportunity to test the program on device level. And the experience with the device level firmware/ software are different from desktop/ web application. Sometimes it's more exiting. Today I would like to share one experience with one device that is directly not related to software/firmware but the implications of it. 

We were working on a treadmill product that has the functionality of running the mill speed, incline / decline the mill position (it has few more advance features, but relative to this story). It is a software that is running on the touchscreen display that has windows 7 embedded operating system. All the buttons and everything is on the screen and it responds to user's touch. We were in the process of choosing touchscreen display that suits on our treadmill. So different people were doing looking/ testing from different angle. Industrial designer more emphasizing on the look and feel, whether it meets industry standard etc. Mechanical designer looking the display whether that will mount on the treadmill perfectly or not. Whether the mount will hold the display on the treadmill when people will be jumping/running on it fast etc. I'm not an expert on those fields so, i'm skipping the details of their process. 

Now for my part. First thing I had  to check whether it meets the optimum configuration with the hardware. Once the hardware meet that requirement, then checked the basic functionality. Then then the important thing is the Performance/Response. Think about it, its a treadmill firm/software. Speed button touch will increase/decrease the speed, stop button touch will stop the mill and so on. For extreme circumstances, when you hit the STOP button, you expect the mill will stop. Similarly when you touch decrease button it will reduce the speed. These functionalities sounds very basic, but if it is used by some patients for Rehab or elderly person, it may become a BIG issue. It's like a car, no matter what situation you would expect that break will stop the car. If the response of the touch is too low or too sensitive then we will have problems as well. 

Touch screen displays are usually of two kinds- Resistive and Capacitive.

"Resistive touchscreen comprises of several layers, out of which the flexible plastic and glass layers are two important electrically resistive layers. The front surface of resistive touchscreen panel is a scratch-resistant plastic with coating of a conductive material (mostly Indium Tin Oxide, ITO), printed underside. The second important layer is either made of glass or hard plastic and is also coated with ITO. Both the layers face each other and are separated with a thin gap in between. An electrical resistance is created between both the layers in such a way that charge runs from top to bottom in one layer and side-to-side in another." [1]

"Capacitive touchscreen also consists of two spaced layers of glass, which are coated with conductor such as Indium Tin Oxide (ITO). Human body is an electrical charge conductor. When a finger touches the glass of the capacitive surface, it changes the local electrostatic field. The system continuously monitors the movement of each tiny capacitor to find out the exact area where the finger had touched the screen." [1]

Both has advantages and disadvantages. Capacitive is highly touch sensitive and doesn't need a stylus and supports multi-touch. Resistive is high resistance to dust and water, low cost. Which type of touch screen to choose? It depends on where, how its going to be used, what are the purposes etc. 

For our case, as we were going to use it on rehab treadmill. As  test basis we used the Capacitive touch screen which has lot more advantages. Capacitive touch screen looked and felt good in terms of look and feel. But it failed in one interesting area - sweat! (Basic science - Salt water is a good conductive media.). 

We put some salt water on the display where we have buttons layed out. We saw that it was generating a touch on the button. And the worst case we saw it, when we put the salt water on the speed button, it was ramping up to the highest speed within few seconds. Imagine what would it do to the person on the mill, and what if it was a patient who will be doing a rehab. So, there ends the story of beautiful capacitive display for treadmill (until they fixed this issue). On the other hand despite of other limitations of Resistive touchscreen display, we are going back to resistive one.  

My intention was not to discuss about how to test touch screen display in general. Rather its about how to test products in practical way that actually can happen to end users based on the nature of the product. As it was going to be used on a product that will be used by patient,  patients safety comes first before starting any other type testing. Testing is very important. Testing from practical scenario is very important. It may save lives.



Tuesday, October 15, 2013

Story- Identifying mystery bug

QA life experience ... 

Software testing, yeah I know, such a painful tedious job. Testing the some/same thing again and again. I was given a task once to identify the mystery bug that was driving the arm of a device in auto rotating mode. Obviously I cannot write anything detailed about it. It was one of my interesting bug identifying incidents that I’ll remember for long time. This issue was given to me with a high hope that I’ll be able to find the issue and I was able to find it (without knowing any details of the code/ logic).


In simple words of mine, when any function does not work as it should work or d
Lets start describing the problem first. Customer Service department was receiving calls about the issue that was driving the arm of a device. Anyway, it was happening out there in the field randomly with different heavy weight metal attachments on the arm. It was very confusing, at least what was recorded in text. There were several attachments that are possible to attach on the arm. Each attachment will then set to a certain Range of Motion (ROM). ROM can describe as a Circular path. It can be a 360 degree of rotation. Once the ROM is set, then user will have to verify the ROM by moving the arm within the specified ROM. After that when the test starts from a starting point of the ROM, the attachment/arm will be moving within the ROM specified. It was supposed to move when someone move the arm. In other words, when some force applied on the arm, it starts to move. In short this was the way of operation for this device.

When I was told to find the issue, obviously I looked at the text of the complaint from the customers. There were few of them. Those were recorded in different ways. My first attempt was to try as per description. To understand more about the customer complain, I actually talked with the customer service department. They gave me few details that I felt was important but not recorded in the report.  (Always dig for more information. You never know what/when/ who will give you the CLUE).

Next few days, I tried to perform test according to the description/input from customer/service dept. tried to duplicate the issue. Could not figure it out what is going on. When something like this happens, I usually take a break from testing and go back to the drawing board of testing plan. This helps me to calm down and rethink about testing approaches. I felt that I did not have full grip of the issue. I didn’t understand how the system should work for each attachment. I went to talk with some people who knew more about these products. They were explaining in more details how things should work.

Now, once I know more of the issue and more detailed information about the product, I started to layout out my testing approach differently. When the test starts, it was supposed to start from the starting position- which is either of the ROM end limits. This was most important part I missed during my previous tries, which made me a little bit frustrated as well. I was following what either it was reported or told by the knowledgeable person of the product. As a tester, this is why I always try to think out of the box, out of the conventional method. Anyway, when I tested the thing from either end, it was okay. When I performed it from the Center of the ROM limits, it even worked!!! I was going to be crazy. Then I thought about applying force on it at the time of start and then from the center position of the ROM. Yahoooo! I got it, I did it. I was able to duplicate the issue where it starts moving the arm automatically.

It did it, when arm was in the center of the ROM and some force applied to the arm to pass through the middle point. Once it misses the middle point of the ROM, it keeps trying to find the middle point and moves on for indefinite time.

So, Why? Why I applied force? Just think it logically, or I should say practically. As I described earlier, attachments are attached to the arm and then during testing it moves. When the attachments are attached, it was supposed to stand still. Not to move one inch. Then the command sent to the controller to release the arm and arm moves. Attachments have their own weight. Let’s say I positioned the arm right before the center of the ROM. Then when I put those metal attachments, it moved just a little to pass the center point of the ROM and then it continuously move on. Some logic was used to identify the middle of the ROM after the arm started to move for some reason.

This was a great relief for the company. We were able to find the issue and fix it. The fix took near about 30 mins to an hour max. Without knowing anything about the code logic, or any specific details, by thinking about the issue logically, I was able to find it out.

I have learned from this that it's pretty important to have in depth knowledge, good grip of the product and its practical use. 

Have a wonderful day. 

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...