Are Businesses Releasing Unfinished Products Too Early?
One of the questions put to Google’s Pierre Far at the Ask the Search Engines panel at BrightonSEO last week was of whether Google test new software products and redesigns before releasing them.
Of course, the answer was ‘yes’ – and the questioner was sternly instructed how to ensure Google pay attention to their feedback – see minute 24 of the full panel video for Pierre’s response.
“Didn’t You Test This?”
Martin Belam recently wrote an article about Beta tests, specifically of a new threaded comments system on the Guardian’s website. He cited reader comments along the lines of “didn’t you test this?” – where the answer being that the software they’re using is, in fact, the test. The user in question hadn’t realised that they were viewing one of just six (from 1.4 million) articles that had been chosen to test the new system.
Another notable example of how early releases lead to criticism include BBC Sport, who had to post a lengthy blog post in February in reaction to a huge amount of negative feedback from users. Facebook is similarly often subject to negativity from users after updates.
Releasing software too early can damage your brand’s reputation. If early users find your product too hard to use, they may walk away – and take a lot of persuading to come back.
Trying to manage user expectation is one way around this…but users don’t always realise they are viewing a beta and may assume any problems are consistent across all products and services.
Our Software Testing training is ISEB/ISTQB Accredited and includes Software Testing Foundation training, Software Testing Intermediate training and Advanced certificates for test managers, test analysts and technical test analysts.
It may pain any managers, designers and developers to hear it but software testing is crucial at every part of a product’s development.
From the initial conception, to the design and development and even the finished product testing should occur to keep the product on task for completion.
ISEB/ ISTQB Foundation Software Testing Training teaches delegates about testing throughout the entire software life cycle.
Testing at the last stage is inadvisable as any necessary changes will mean running the product back through the entire process.
Testing should be done at four stages:
Planning
Design
Development
End product
Testing at each stage ensures that the final product is ready for market and minimises delays.
The below diagram shows how a problem at each stage of the software cycle can affect the final product:
Testing During the Planning Stage
The Design and Development stages may be spot on, but if the wrong requirements are introduced during the planning stage then the wrong product will be produced. Ensuring that all the correct requirements are in place is vital to design and development of the correct product. Read the rest of "Software Testing Throughout the Process"
Silicon Beach Training provide a host of great mobile development courses, including iPhone App training, Android App Training and Mobile Web Design courses. However, every new app needs to be tested thoroughly before launch. With a wide variety of operating systems, screen resolutions and hardware combinations desktop software testing needs to accommodate for. This, however, is a mere drop in the ocean when compared to the multitude of mobile platforms and smartphones that need to be tested before launching an app.
With apps becoming increasingly popular and complex the need for testing has never been higher, but with so many smartphone platforms, including iPhone, Android, Blackberry, Windows Mobile (and then there’s the tablets!), each of which running different software versions, button layouts, screen sizes and sporting different hardware, covering all of your bases is becoming a time consuming and expensive task.
As well as the software and hardware differences between devices you also have to take into account the number of mobile phone networks that the devices operate on. This makes the number of unique combinations to test vast! So buying one of every type of phone isn’t a practical solution. Especially as there are over 350 types of Android device alone!
As the old adage goes ‘practice makes perfect’ – it is as true for software testing and IT skills as it is for playing an instrument or a sport. Professional musicians put a huge amount of their time into practice so that they perform well, if they didn’t they wouldn’t improve their skill and nobody would pay to hear them.
Practice To Avoid Frustration
The same goes for software testers – without practice you won’t improve and could even become rusty and start to lose work.
Well, as already said ‘practice makes perfect’. Software Testers don’t always get the chance to practice hands on testing so it is important to find ways to keep your skills up to scratch. The more you practice an action, the quicker you can perform it so practice is key for improving productivity.
At the same time, practising skills away from your daily tasks stops you from falling into patters. Expanding your skills helps you discover new ways of doing things and prevents your testing knowledge from becoming stale.
The ISEB/ISTQB Foundation Certificate in Software Testing is the industry standard certification for software testers. The qualification allows testers to demonstrate their skills to employers and for businesses to show the proficiency of their software testing team.
The qualification is recognised internationally and so opens up testers and businesses to a wealth of new opportunities world wide. It also allows for multi-national projects as everybody is working with a common understanding of software testing.
In our ongoing series of tips for Software Testers – here are our final 5 Software Testing Tips – making a grand total of 20 (what generous folk we are!)
These tips are from our experienced trainers – all of whom are professional software testers in the real world. If you would like to learn about software testing in-depth – attend one of our Software Testing Training courses – all of which lead to a recognised software testing certification.
5 More Software Testing Tips
1) Involve software testers from the design phase onward. If software testers are involved from the very start of a project they will develop a knowledge of the application dependability and the test coverage will be greater. Be proactive! If you are a software tester and haven’t been asked to be a part of the full development cycle then ask the project manager get your input on all of the major decisions.
2)Share best testing practice among your testing team. Better still – share that experience with other testing teams in your organisation.
3) Make sure that you allow time for high priority tasks. Prioritise all testing and plan your time accordingly. This will make sure that you don’t run out of time for the most high priority jobs.
4) Speak to developers! Make sure that t you know as much about the product as possible. If you can, speak in person either face to face or over the phone. Misunderstandings can easily arise if communication breaks down. However – make sure that everything is finally confirmed in writing once it has been discussed – especially ares where there has been any dispute.
5) Make your bug reports clear and unambiguous. Describe the symptoms, effect and all possible solutions in detail.
We hope you’ve enjoyed our series of Software Testing tips. Keep your eyes on this blog for more software testing resources.
15) Keep developers away from test environment. This is required step to detect any configuration changes missing in release or deployment document. Some times developers do some system or application configuration changes but forget to mention those in deployment steps. If developers don’t have access to testing environment they will not do any such changes accidentally on test environment and these missing things can be captured at the right place.
16) It’s a good practice to involve testers right from software requirement and design phase. These way testers can get knowledge of application dependability resulting in detailed test coverage. If you are not being asked to be part of this development cycle then make request to your lead or manager to involve your testing team in all decision making processes or meetings.
17) Testing teams should share best testing practices, experience with other teams in their organization.
18) Increase your conversation with developers to know more about the product. Whenever possible make face-to-face communication for resolving disputes quickly and to avoid any misunderstandings. But also when you understand the requirement or resolve any dispute – make sure to communicate the same over written communication ways like emails. Do not keep any thing verbal.
19) Don’t run out of time to do high priority testing tasks. Prioritize your testing work from high to low priority and plan your work accordingly. Analyze all associated risks to prioritize your work.
20) Write clear, descriptive, unambiguous bug report. Do not only provide the bug symptoms but also provide the effect of the bug and all possible solutions.
Last week we published 5 Software Testing tips provided by our trainers. Continuing the theme – here are 5 more software testing tips that we hope you will find practical and useful for you when planning application tests.
1) Be positive about finding errors!:
Begin the software testing process with the intention of finding bugs! This way you will be sure to find all of the errors (major and minor). If you start expecting there to be NO bugs there’s a danger you’ll miss the smaller errors.
2) Group your test cases together for regression testing:
This will help speed up the process of your manual regression testing phase.
3) Ensure test cases are provided for developers BEFORE coding
Let the developers do some of your work for you by providing details of the test cases to them before they start work. This way they will be more likely to develop a quality application with fewer bugs for you to find in testing. This will mean less time debugging later.
4) If response time is important in your application – performance testing is VERY important! Carry our thorough performance testing on any software where a fast response to the user is paramount. This is too often ignored in manual testing as large volumes of data are required to carry out proper performance tests If you can’t create test data manually, write scripts to generate random test data (or get one of the developers to do it!)
5) Do NOT get programmers to test their own code You CAN save time by providing test cases to developers before they start (tip 3!) – however programmers should NEVER be asked to thoroughly test their own code. Software Testers can’t ask developers to release products for testing (that’s your job!) Programmers should be allowed to take their own time. Everyone can contribute to estimating the time required for testing. This is a standard Agile approach
Our range of Software Testing Training courses will provide you with the knowledge you need to pass the ISEB and ISTQB Software testing exams.
However one thing we try to focus on as much as possible, in addition to passing exams, is providing real-world advice and knowledge that can be applied back in the workplace.
All of our Software Testing trainers are experienced industry professionals, so we’ve asked them to provide some short, practical software testing tips.
1) Be thorough with analysing test results: It’s easy just to look at results of a test in terms of “pass” or “fail”. However look at a fail in terms of “why did it fail”, and try to identify the root cause to find a solution to the problem. Your career as a software tester will be more successful if you can provide solutions, rather than just identifying problems.