Software Testing Tips

Do you know that software testing can be an art?  Being able to evaluate the capability of a system or application and ensuring it meets with client requirement involves a certain amount of craftsmanship.

This could be a dull chore where you simply perform ad hoc testing or a challenging experience that involves a good deal of planning and designing before testing.

Here are 10 tips that can help to develop good quality software that works according to specifications.

1. Understand the application:  How can you test if you do not know if the application is functioning as designed or if a functionality is missing? You first need to understand and have a good knowledge of the software before you start testing. Understand what the software can do, what external resources it uses to do it, its major behaviors and how it interacts with its environment. This knowledge would help you write effective test cases.

2. Start with a plan:  Strong testing begins with a good test plan.  You need to come up with a good strategy that defines your requirements in terms of tests. This means knowing what you need to test, what constitutes a bug and how to prioritize your work according to associated risks.

3. Write effective test cases: A combination of domain knowledge, prior experience and good writing skills help you to write good test cases. Your test cases should be understandable and repeatable that explains the intention of the tests and the expected results.

4. Ensure maximum coverage: You can never guarantee 100% coverage but you can ensure that every requirement is covered by at least one test case. You can also break your application under test into smaller modules and write individual test cases for each module. This would ensure maximum test coverage.

5. Start early: Writing your test cases in the requirement analysis and design phase ensures that all requirements are testable.  Bugs detected early in the development process are also considered cheaper to fix.

6. Give access to developers: It’s a good idea to give developers access to your test cases before they begin coding. This helps them to understand and analyze your test cases completely and develop good quality software. It also helps them save time on re-working.

7. Test with the right attitude: No software is bug-free. So, test with the intention of finding bugs and you will definitely succeed in finding some. Testing should ensure that the application does what it should and doesn’t do what it should not.

8. Record test results: Besides writing test cases, you should record your test results and provide solutions. This data helps when you do regression testing as probable bugs in the application can now be easily predicted.

9. Test for performance: Many testers tend to ignore performance testing when the volume of data is large. However, testing for performance is very important and you need to find ways to test your application for performance even if it means writing just basic scripts to create test data performance test.

10. Remove changes in code base after testing: For testing, changes are made to the code base.  Don’t forget to note down these changes and remove them from the code base before final release.

To summarize, no matter how much testing you perform, you can never guarantee a bug free application.  What you can ensure is that the basic and crucial functions of the application work well and your customer is happy with the software you deliver.

Share this article

CRM – Your Business Partner

How do you ensure your business stays ahead of the competition? A business is all about relationships and happy customers means a successful business. To build strong and lasting relationships with clients, you need to first understand their individual needs and behavior. Here’s when CRM comes in handy.

So, what’s CRM and what can it do for you?

CRM stands for Customer Relationship Management. It is a business strategy that many companies adopt whereby customer data is collected and used intelligently in order to build and maintain strong relationships with customers.

You can use CRM to track your customer’s contact information and interests, previous purchases, their preferences etc thus helping you efficiently market new products and serve your customers better. You can also use CRM to track new leads from the time of obtaining them till the sale is closed. A CRM also helps you to manage outstanding or unpaid accounts too.

Before implementing a CRM to your business you need to
consider two key factors:

Understanding your business requirements: For your CRM to be really effective, you must first review your current business processes, decide the kind of customer information you want to collect and what you plan to do with it and also where the information collected can be stored. A well-designed CRM system should be able to do all this for you.

A customer-centric team: To make your CRM work for you, you need a a strong team committed to ensuring customer satisfaction and who share a common vision of increasing sales and enhancing customer loyalty.

Make sure you focus and act upon the above points before you expect results from your CRM.

Share this article

Bluetooth 3.0 Unveiled

Did you wish you were able to transfer digital pictures, video and large files between cell phones, laptops and other devices?

Then, the Bluetooth 3.0 is here to do just that.

April 21st, 2009 saw the announcement by Bluetooth SIG of its new Bluetooth 3.0 + HS specification, dubbed as Bluetooth High Speed Technology. The new Bluetooth wireless standard builds upon the previous standards and is reportedly up to 160 times as fast as Bluetooth 2.2. This is good news for manufacturers of handsets and PMPs, expanding the range of possibilities to include Bluetooth media streaming and much larger file transfers. A technology like this has the potential to revolutionize the consumer electronics industry.

The standards and specification of this new technology will show makers of wireless electronics how to design these devices so that they can send and receive data using either the Bluetooth or 802.11 wireless data transfer protocols (sometimes known as Wi-Fi).

Bluetooth 3.0 also allows applications using 802.11 for connectivity, to use just a burst of 802.11 power to send data and then shut off the radio until it is required again. This ensures that it works efficiently and without draining power.

A notable achievement is that Bluetooth 3.0 is expected to deliver short-range wireless speeds of up to 480 Megabytes per second in close proximity, and 12.5 Megabytes per second at 10 meters. That makes high-quality streaming video a definite possibility. In fact the possibilities are endless – video cameras can stream video footage to Bluetooth enabled computers and televisions, a picture or movie can be transferred between your laptop and your smart phone, laptops can transfer presentations to a projector wirelessly, to name just a few.

Users will have no worries about interference from wireless networks and other devices as the high bandwidth (in the 6-9 GHz range) of Bluetooth 3.0 eliminates the possibility of interference of devices that use the 2.4 GHz range.

The new Bluetooth 3.0 standard is anticipated to remove not only wires, but all communication barriers between devices that have existed for years.

Share this article

API for Google Analytics

When it comes to web then it’s all the way Google. Right from search engine to browser to email, they are now providing API for Google Analytics. Google Analytics is their free service for tracking and analyzing website traffic and usage.

It was a much-awaited release from Google. “Large organizations and agencies now have a standardized platform for integrating Analytics data with their own business data,” says Google’s Nick Mihailovski.

Google was blamed of storing the browsing history of a user. Now they are willing to share this data. So it is really an interesting move from Google.

One can access Aoogle Analytics from phone using Android application and from desktop using Desktop-Reporting. For more details about how the API works, you can read this blog post from Google about it.

Share this article