Testing the resource consumption for Android. Part 1

Written by Sergei Terekhov | Friday, 04 October 2013 |

In this article we are going to discuss a very interesting topic: resource consumption testing for phones with Android OS. For mobile phones with Android operating system, there are many third-party programs that show the amount of resources used by some phone application. And also there is a special API and SDK that can help you see all the information about the target application on your computer. Here are some of them: 

    • StrictMode. It is a new API, which allows you to set policies for streams which control the list of operations, which are forbidden to be done in them. Without analysing details it is just a bit mask, which is saved in a thread-loca variable. For more information about StrictMode see the article "Testing resource consumption for Android (StrictMode). Part 2."

Read More

Published in Software Testing

Bug-Tracking Part 1

Written by Sergei Terekhov | Monday, 20 May 2013 |

In this article I want to consider the concept of "bug-tracking" and its importance mainly.

Modern companies often use a special system for the registration of defects (bugs). The basic sense: testers create bugs, developers fix them, and project managers evaluate the status of the product. The management of defects in such systems is called «bug-tracking».

Testers, who are beginners in this work, usually have questions: «Why is it impossible to report about a problem verbally?». It is faster and easier. Experienced testers name several reasons:


Read More

Published in Software Testing

Selenium Assertions

Written by Sergei Terekhov | Monday, 20 May 2013 |

command tells Selenium what to do. There are three 'types' of Selenium commands: Actions, Accessors and Assertions. Each command must contain command name, target and value: 

Accessors examine the state of the application and store the results in variables, e.g. "storeText". They are also used to generate Assertions automatically. 

Assertions are like Accessors, but they verify that the state of the application is as expected. All Selenium Assertions can be used in 3 modes: "assert", "verify", and "waitFor". 

"WaitFor" commands waits until some condition become true. When the condition becomes already true, test will succeed. If the condition has not become true within a specified time-out, test will be considered as failed. 

If "verify" command is failed the test script continues to run with the entry in the error log. 

If"assert" command is failed the test script is aborted. 

Let’s look at the most frequently used “assert” command.

Read More

Published in Software Testing

Smoke testing

Written by Sergei Terekhov | Wednesday, 24 April 2013 |

There are many different opinions about where exactly the name «Smoke test» comes from and where it was used the first time:

1. The «Smoke test» concept is derived from engineering environment:

During the start of operation of some new equipment, it was believed that the testing was successful, if the installation didn’t smoke.

2. The term has got its name from stove-makers. After they had assembled an oven and closed all plugs, they stoked it and checked whether no smoke was coming from wrong places. 
In software testing area, the term is used for surface inspection of all application modules for their efficiency and availability of fast detecting critical and blocking bugs. Smoke testing considerably minimizes the risk of problems arising by integration, and reduces the risk of product low quality. In software testing, smoke testing is a set of written tests that are performed in the system before transferring the software for further testing. 

This is a "shallow and wide" approach to testing. A tester "touches" all major areas of the application, performs surface testing just looking for answers to basic questions. Smoke testing hasn’t to be exhaustive; however, it should be sufficient enough. As the result of software testing, the tester can decide whether the project version is stable enough to be passed to the next, more careful testing phase.

For example:

Read More

Published in Software Testing

The testing of unknown software

Written by Sergei Terekhov | Thursday, 01 November 2012 |

The majority of products can be divided into three main components: 

1. Iinstaller;
2. Software application;
3. User documentation. 

The testing of installer usually includes: 

1. Testing the 'fresh' (primary) installation;

2. Upgrade testing (ie testing reinstall over an existing copy);

3. Testing uninstall. 

The testing of the user documentation usually includes: 

Read More

Published in Software Testing