Advertisment

Software Testing: New Methodologies

author-image
PCQ Bureau
New Update

Software testing plays a prominent role in the software development life cycle. A bug in software not only costs millions but may cost lives at times. YES! There was a radiation dosage error that happened in Panama City in 2000. A therapy planning software from a US company delivered different doses depending on the order in which data was entered. But it resulted in massive overdoses for some patients, and at least five died. The number of deaths could potentially be much higher. Some software bugs may not be serious enough but errors in software used in medical treatments or in flights cannot be allowed because of serious implications. So you can imagine what an error in software can cost.

Advertisment

In today's software testing industry, trends and methodologies are continuously evolving. With focus on quality and end-user satisfaction in the limited time frame, competition is also increasing. Since software testing becomes a part of business model, testing methodology is changing accordingly. We will talk about the methodologies in the software testing industry.

Agile Methodology

Advertisment

With the change in the mind-set of the end-user and the increasing market competition, organizations are now skeptical about going for traditional testing model like waterfall mode. Now, organizations are coming up with new strategies to save time, resources, money and at the end delivering a bug free product and meeting the customers' requirements. In this scenario, agile testing proves to be the best. The main focus of agile testing is to save time and to get the visibility of the product to be tested. In such case, customer interaction and participation forms an integral part. Agile testing goes through different processes.

Once the end-user is ready with the requirements, the vendor or in-house team, which includes the testing team, analyze the requirements. These requirements may be dynamic in nature, which keep on changing as the development happens.

Now after analyzing the requirements, designing team analyzes the issues that can occur. Simultaneously the testing team and the end-user interaction are also important. So that there is a consistency maintained in the development.

Advertisment

Now testing and designing team works side by side. Designing team in one hand works on the design of the product while testing team works on test cases and send the reviews to end-user and the designing team.

Now when the designing team design the code, testing team checks the code for errors. The designing team correct errors if they find any and this iteration continues till the code is ready to implement. During this process, the user requirement and the usability of the product may change.

With this kind of dynamic requirement tradition approach would not yield the desired result.

Advertisment

Context Driven Testing

Context driven testing is sometimes considered to be like agile testing. This kind of testing is implemented when the end-users have different preference and needs. We can say that it works for the applications which suffice the need of one end-user but not the other. Let us say Notepad. Notepad is an ideal application for writing simple text. But if another users want the tools to add graphics and different font size and colors, then this application is not for them. So context driven testing is based on the fact that 'no solution is best solution.' But in this case, advantage lies with the end user, since the final product that is delivered is a user friendly product, though many users may not agree with that, since context driven methodology does not work well in all situations. This methodology works better in stable applications where conditions seldom change and also where test scenarios are not known.

Advertisment

Mobile Application Testing

With the boom in mobile market -both the hardware and the application, mobile application testing is emerging as a new and rapidly growing field. Though there are lots of opportunities in this market, there is a tough competition. Thousands of applications being uploaded daily on Internet and many of them left untouched. So there are many challenges that mobile application testing is facing. We will be discussing some of them.

Advertisment

Different mobile handset: Millions of mobile handsets are available in the market with different screen size, keyboard, etc. This proves to be a challenge for the developers and the testers because in order to develop and test any application one needs to be aware of the hardware it is targeting.

Given this diversity in the mobile handset market,

another challenge is that it is not feasible to test on all the handsets.

Different operating system: Now with so many handsets out there comes up different operating systems that are present in the market. Some of them are Windows, Android, Maemo, Symbian, BlackBerry, etc. Again with this diversity in the mobile platform, it is a challenge for the developers and testers to deliver an application that work flawlessly on all platforms. But there is always a high chance of bugs being reported across different operating systems.

Different service providers: With the tie-ups between different handset manufacturers and service providers,

certain applications come pre-installed in the handsets. Also at times, there are certain guidelines which are laid by different service providers; it becomes difficult for the developers and testers to test the applications across for different service providers.

So given the flurry of challenges present in the mobile industry, mobile application testing industry becomes a challenging and growing one.

Advertisment