Archive for the ‘Testing’ Category
Outsourcing: what do you think first?
The first thing that comes to my mind when I hear outsourcing is cost savings. No surprise that it’s the primary motivator for outsourcing decisions. However as we all know low cost not always means good quality, and vice versa as well – high quality at a high price.
To my opinion, the right approach and organization work that’s what turns testing to a smart business goal and cost-efficient decision.
So to optimize testing a number of considerations have to be taken into account: at what stage to outsource, how to find the right and secure partner, how to build and manage outsourced testing, how to stabilize communication etc.
In this article I would like to think over and demonstrate how to make outsourced testing effective and secure process.
Why do companies choose to Outsource Testing?
Software becomes increasingly important and failures in work could lead to money lost after product production if it wasn’t being tested properly. Moreover, in areas where software failure is expensive or could cost someone’s life testing should be one of the crucial activities. According to the statistics 91% of IT departments consider testing one of most important tasks in the development cycle.
Along with the growing demand on testing activities the remote outsourced teams increased in recent years as well and it is expected that the percentage will be growing next years. Nowadays test outsourcing market is no longer driven by independent testing companies, but all major outsourcing companies offer testing services as well. That increases the importance of testing and gives more possibilities in choosing the supplier.
There are number of benefits that could be archived through outsourcing, but let’s select the main ones: resource flexibility, cost savings, time savings and quality improvement of the end product.
From these points outsourcing of testing could be seen as a positive thing and could create real value for both customer and its supplier. However there are many stories as successful so complaining ones about work with outsourcing teams based on the information from blogs and articles. And based on them outsourcing is not always the fastest and cheapest way to test and in some instances can be turned into a complete failure. The main complaints connected with communication problems, timeframes of product delivery, quality of resources and supplier responsibility. Everything has its advantages and disadvantages, its positives and negatives, so based on the learnt lessons and previous experience it is always possible to work out some rules to get the successful results.
Step by step to outsource successfully
So based on experience working with our customers and read articles on this topic I’ve prepared some tips that should be considered while deciding on choosing the right partner:
– Past experience, if it would be possible to find out if they ever tested the same type of project you have;
– Request a list with references;
– Find out who of engineers will be assigned on your project, look through CVs, and organize interviews to check qualification and language skills;
– If test cases/scripts need to be prepared, ask for the examples of existent test cases to verify the level of expertise and experience;
Beside the decision of selecting the right partner, one more key to success is effective level of management service. So if you want all the things were done properly, you need to organize well the testing process, and to consider the following things:
-To choose the type of testing: manual or automated;
– To stabilize the requirements to the management: communication process, team coordination, etc.
– To consider tracking tools, environment to work in;
– To discuss in details project planning: preparing test plans and cases;
-To discuss and determine the project dates and final deliverables.
Once you have chosen a good partner and met your expectations outsourced testing become an excellent option. But you shouldn’t forget about continues monitoring and take carefully decision at what stage your product needs to be involved in testing process. You would need to manage all the process including also such details as time difference and national characteristics in order to build stable cooperation and communication process.
Of course, you should also take under control any problem that could happen. If failure occurs try to discuss it and develop mutual decision to deliver the product in time. So qualities of a good coordinator/manager and planner would be required as well.
As the result I should confirm that outsourced testing well coordinated and organized help you test your project within budget, on time and at the right quality.
Thank you for your attention and waiting your comments and sharing your experience.
Business Development Manager
Professional Software Development
The beauty of Internet-enabled applications is that it’s easy to add value with rich media, real-time monitoring, and other features. But with this flexibility comes new responsibilities for testing the “goodness” of applications in real-time situations. For instance, if employees are using mobile devices powered by Internet, app developers can no longer assume a stable in-office environment in which their applications will be used. Instead, they might have to consider whether an app will be used in a moving car, or in temperatures below freezing. This conflicts with present IT application testing methodology, which usually doesn’t go far enough to test for environmentals and usability. As a result, IT can miss the boat in its testing strategy and find itself doing much more work in app maintenance.
Here are 10 things to consider if you are developing apps that have to function with outside “things,” –environments and usability challenges that you can’t readily foresee in your test lab.
1. Think about how people will use the application
An application that comes packaged on a consumer-grade laptop or notebook for a police squad car will not withstand the rigors of high-speed chases and constant bangs and knocks. Part of the application testing strategy, if you are developing for situations like this, should include the testing of the robustness of the device itself in adverse operating conditions. If you fail to include the device in your test plan, the app might be great — but it might also crash at a critical moment if the end device fails.
2. Consider environmental conditions
It doesn’t do anyone any good if an end user tries to place a consumer-grade device in a freezer to monitor temperatures. Ruggedized handheld devices are especially designed for work in extreme cold conditions. This is a case where it is important to know the environments that users are going to use their mobile devices in — which again, makes it essential to include the device as well as the app in your test plan.
3. Develop a comprehensive test plan with a checklist for usability as well as for app features and functions
Eighty percent of end user acceptance of an app comes down to usability (over features and functions). Yet interestingly, an IT test plan is usually the reverse (80 percent features/functions and 20 percent usability). I once redesigned an app that had been sitting on the shelf at a company for more than two years because it had an unfriendly user interface. Once we pared away two-thirds of the interface (and reduced the features-functions set to make the app less complex), the uptake by users was almost immediate.
4. Actively engage users in testing
Engaging users in testing (especially for usability and fit for environment) ensures that there are no surprises from the user side when the app goes into production. It also ensures user signoff and buy-in for the app and an ongoing collaborative relationship with the end business unit as you enhance the app over time.
5. Engage users up front in app design
Many IT application developers now get users involved at the very beginning of application design, especially when it comes to designing the application interface. It’s a good practice, because it provides a working blueprint of user interface requirements that your test plan can be linked into. It also puts the users (and not IT) in charge of designing the “look” of the app.
As soon as developers have a working model of an app, they should sit down with end users and demonstrate both the user interface and how data flows into and out of the interface. These demo sessions should be short and iterative (as more pieces of the app are completed), and they should occur often. Doing this will ensure that the app continues to track true to user requirements. These regular prototype reviews will significantly shorten QA and final test times.
7. Build scalability into your app — and test for it
Especially for Internet and mobile devices, app add-ons such as rich media should be anticipated to grow. Your design plan should anticipate this (e.g., scalability for storage, CPU, bandwidth) — and your test plan should test for it. By sizing for future expansion, you can avoid costly app redesign.
8. Include security and lockdown
Data encryption, conformance with security standards, and locate and lockdown ability when devices get lost are all important test points for mobile devices. IT usually gets the first two, but the locate and lockdown is often missed. It shouldn’t be. Thirty billion dollars worth of mobile devices were lost last year.
9. Use standard APIs for app interfaces
One of the worst nightmares for application integration (and almost all apps are integrated with various data repositories, other apps, etc.) is the development of custom interfaces that have to be changed over time — and which in turn create maintenance work on every other app they touch. You can save a lot of time in regression testing by sticking with standard APIs.
10. Make testing everybody’s business
We’ve already talked about getting end users engaged in final checkout and in intermediate checkouts. But it’s also good to include input (and checkout) from the help desk, which understands as well as anyone in IT what the constant user pain points are. It’s also a good idea to split your QA team into two camps: one side that tests the app for technical “goodness” and a second side that tests for usability and overall “fit” for the business and the end user’s work environment.
Have you ever thought that mobile industry will become so popular? Never!
According to the recent research more than $10 billion were spent on downloading mobile applications in 2011, $21 billion in 2012 and according to forecast users will spend more than $30 billion in 2013. Rather impressive, isn’t it?
And all this is just for downloading paid mobile applications! And their number on the market is approximately 20 percent. The rest of mobile applications are free.
It is not surprising that mobile application testing spins up because of such boom in the industry. It is one of the most popular kinds of software testing performed by software testing company. What kinds of mobile applications do you know? Let’s try to find them out.
Types of mobile applications:
• Web applications;
• Platform applications;
• Mobile websites.
Let’s see what is the difference between? Should different kinds of mobile application testing be performed for them?
Web applications are considered to be the most acceptable as mobile web browser is an application that sends content to the mobile device. It means that such application is independent of any device, platform or operating system.
The development of such applications is rather simple but their supporting and testing are very costly.
It is the most simply type of application. User usually send a query in form of short code to receive immediately the desired information just like train schedule, ticket’s price, etc. They are testbased and have limitations of the message content.
Mobile websites are considered to be the source of simple and accurate information just like weather, news, sports, etc. Their great disadvantage is that the limited resolution screens information is hardly readable.
Different kinds of mobile application testing should be performed for them as they are very different. But there is nothing impossible for software testing company.
What Are the Typical Problems You Can Face During Mobile Testing?
• The software installed on a mobile device depends greatly on its creators and the decisions they take during the process of software development. Sometimes they create such type of software that may influence the overall behavior of your phone.
• The specific feature of mobile testing is that accurate test results may be really hard to obtain. The obtained data is usually quite conflicting. A software tester should have enough practical experience to be able to single out key challenges and the most important issues.
• Sometimes you may face the problem caused by a certain network operator. Sometimes they customize the software’s interface and functionality for their specific needs and it may cause its overall performance.
• Some models of mobile phones can also be very problematic in handling. Sometimes they may limit or even disable certain parts of tested software.
• Some application’s content may prove to be unsuitable for certain mobile devices. For example, it may contain unsuitable format.
If you consider all these issues when planning your mobile testing, you are sure to succeed.
Tips for Conducting Successful Mobile Testing:
• Sometimes the best option is unite mobile testing with another software testing type, namely automated testing. Automation will make your testing more productive and greatly economize your time.
• Take into consideration that depending on a software type, not all of the software products can be easily automated. Some applications require only manual testing if you want it successful.
• Check the software installation process (installation testing)
• Consider the used language (maybe you will need to implement the elements of localization testing).
• The preinstalled web browser is also something you should consider when planning your software testing.
• Verify that the device type doesn’t put any limitations on the software under testing.
• Check whether the software doesn’t influence the overall device performance.
• Make sure that the stated software is technically most suitable for the users’ devices.
• When choosing the most suitable devices to conduct mobile testing on, choose the most popular models with most popular environment (OS version, preinstalled software etc.).
• Test the software’s performance.
• Sometimes exploratory testing can be a good way of guiding the overall testing process.
• Combine several types of software testing in order to get the maximum profitable testing result.
Why do many software companies just ignore testing?
According to one of the latest researches, around 57 percent of application performance issues are usually found by users and 67 percent of applications are usually used without outsourcing software testing to ensure that they can scale to support desired traffic levels. I think it just proves one more time the necessity of mobile application testing and web site testing. Why not to supply the market with software equipment of high quality?
As my personal point of view mobile testing is necessary just as any other type of software testing. And it is really important because we all make mistakes. Some of those mistakes are unimportant, but some of them are expensive or dangerous. We need to check everything and anything we produce because things can always go wrong –humans make mistakes all the time.
In the conclusion I would like to ask you what are your considerations on the question if there is need and importance for mobile testing. Should we think twice before launch developed mobile product to the production without any testing performed?