The growth of mobile technologies is unprecedented, and the rate keeps going up every year. This also brings new opportunities and challenges in the mobile app development sector. However, we generally overlook something else that’s just as important – testing. Mobile applications are meant to keep users engaged while providing an immersive experience that’d make them come back to use the app again. This is why you should make sure there are no mistakes when testing mobile applications.

Here are a few common mistakes mobile testers generally tend to make.
 

1) Focusing too much on the looks

 
Mobile apps should certainly provide a great user experience. So there should be focus on the UI/UX. However, testers tend to focus more on this aspect while not giving much thought to the actual purpose of the app. If the app fails in performing the actions it was designed for, even if it’s good looking, it will deter users. This applies to standard software testing as well.
 

2) Networking issues

 
The app’s offline and online functionalities are normally tested. However, testers may overlook a critical issue. The app should be able to function properly across various bandwidths. Testing this may uncover networking issues as well. Not all users will have good network capabilities.
 

3) Opting not to prepare a complete report

 
Inadequate knowledge, miscommunication, impending launch deadlines etc. may force a tester to prepare an incomplete report on bugs. Consequently, the developers won’t be able to rectify all the bugs in time resulting in an app with glitches that may even impede its performance. Though this issue is not a big concern in an Agile ecosystem, it’s still something testers need to work around.
 

4) A single tester may not be enough

 
Employing just one tester to test the mobile application is something even a development company with sufficient resources may do, though it’s commonly practiced by companies with limited resources. The mobile application development company should make it a policy to hire experienced testers on different environments on the team. Their varying capabilities essentially help detect more potential flaws in the app, and at a shorter time.
 

5) Wrong notion that web and mobile testing are similar

 
A tester familiar with both will know that website testing and mobile app testing are fundamentally different. First off, a mobile application requires more frequent updates than a web application. The mobile tester should be able to figure out an approach where the app functionality can be validated in sync along with scheduled updates.
 

6) Not utilizing crash logs

 
Of the various factors that contributes to a poor rating of an application, frequent crashes is at the top. The tester should maintain a report of every occurrence of an app crash, which will subsequently make it easier for them to prioritize major bugs across the various sections of the app. This reduces the likelihood of crashes post launch.
 

7) Taking customer feedback into account

 
The mobile tester’s job isn’t over once the app is launched. In many cases, despite great effort from the testers, the app may still have some bugs that they may have missed. Regular users may come across that particular issue more often. Most of those users report the bugs through reviews or other feedback options. So the tester must be going through user reviews post launch to see if any bugs they missed have been spotted by users, and report them to get them rectified with the next update.

Written by: Suraj Jayaram

Faster time-to-market and impressive software quality are more important than ever. This is why more businesses have started to invest in DevOps, especially when it comes to software testing. To ensure quality and timely delivery of products or services, collaboration is key. A DevOps environment has that collaborative approach when handling new-age applications, giving them real-time solutions. Continuous development and testing is another benefit.

This modular approach, if not a cultural shift, has now become essential for a business that provides Agile software development services enabling them to provide sustainable, robust, and innovative digital solutions. As DevOps-driven testing has started moving to unexplored domains, it’s important to keep an eye out for new trends. These trends will define better approaches and more efficient processes for leveraging DevOps.

Here are a few DevOps testing trends that give the most hope this year.
 

Failure is acceptable if it’s early

 
In a DevOps environment, testers can start testing the product from the early stages of development itself. This way, defects and other errors can be identified and rectified early subsequently reducing the risks when the application finally enters the market.
 

Simultaneous development and testing

 
Both developers and testers are responsible for ensuring quality. In a DevOps environment, development and testing should go hand in hand. This concurrency is one factor that reduces the time-to-market, and also one of the reasons why the IaC (Infrastructure as Code) concept thrives in a DevOps ecosystem.
 

Continuous testing and delivery

 
Continuous and quick deployment is probably the biggest benefit of adopting DevOps practices. This makes continuous testing and delivery important as well. Continuous development, testing, and delivery enable enterprises to easily adapt to digital transformation and come up with innovative ways to add quality.
 

Shifting to the Cloud

 
Cloud technology entirely transformed the software development and testing processes. The cloud made it possible for testers to access application data from anywhere at any time. At present, cloud also plays a role in implementing DevOps practices effectively in an organization, and is expected to boost continuous development and testing in a DevOps ecosystem even further in the near future.

Written by: Suraj Jayaram

In a general sense, website testing is carried out extensively in almost all the cases unlike software testing. Website testing is quite broad and demands testing efforts to cover all quality aspects. The objective is to make sure that the website makes it easier for users to learn, understand, use, and navigate the website.

To achieve this, almost all types of testing are carried out, including but not limited to:

  • Functionality Testing
  • Compatibility Testing
  • Performance Testing
  • Database Testing
  • Usability Testing
  • Security Testing

Though many more tests are necessary to cover each different perspective, the six above are the essentials.
 

Functionality Testing

 
Performed to ensure the intended features and functionalities of a website, functionality testing may include:

  • Forms testing – Forms, used by users for storage/retrieval of information, are tested to ensure integrity and consistency throughout the website. Further testing can be performed to validate each field of the form, fields with negative or invalid values, upload file formats, and all other fields.
  • Link testing – Tests various links associated with the website including external and internal links, e-mail links, and broken links.
  • Validation testing – Tests whether the website adheres and conforms to specified search engine optimization standards.

 

Compatibility Testing

 
Like the name suggests, compatibility testing ensures the compatibility and functioning of the website across multiple browsers, operating systems, hardware, software, network configurations, display resolutions etc.
 

Performance Testing

 
Performance testing is carried out to assess the website’s performance under different conditions by evaluating various specified parameters.

Performance testing generally tests:

  • The stability of the website under different loads – normal, heavy, and extreme at different resource accessibility/utilization conditions, to ensure that the website functions uninterruptedly without crashing. The resources may include hardware, software, physical memory, CPU, network connection and speed, storage space etc. Load, stress, spike, soak, and volume tests may be performed in addition to double check the reliability of the website.
  • Scalability to make sure the website can adapt to changing requirements.
  • Response time and speed of the website

 

Database Testing

 
The back-end of a website, database, is very important, which is why database testing is crucial for a website. It tests the following:

  • Proper execution of database queries
  • The integrity throughout the database when data are added, updated, or deleted
  • Accurate data retrieval against queries
  • Testing tables
  • Keys used in the database

 

Usability Testing

 
This is to check the user-friendliness of the website, basically. If the user finds it difficult to use or navigate the website, or loses interest while browsing the website, the website’s overall traffic dwindles. This is why a website needs to be usability tested before it goes live.

While performing usability testing, you need to consider the following points.

  • Whether the testing design, website layout and presentation match the user’s expectations
  • Smooth navigation and control between web pages
  • Content and all other visual elements in the website

 

Security Testing

 
Security testing is performed to identify and rectify security vulnerabilities in the website. Website security testing may include:

  • Penetration testing which involves attacking the website through all means to identify and locate security flaws.
  • Accessing website using incorrect or invalid credentials
  • Hacking the website
  • Monitoring and verifying confidential data transfers through SSL certificates
  • SQL injection attacks on the website
  • Checking if the confidential data and repositories in the website can be accessed through unauthorized means
  • Checking log files located at the server

 

Conclusion

 
The testing processes mentioned above are only the essentials from a long checklist of tests. The end goal is to make sure that the testers do not miss anything, and the website developed functions as per the owner’s requirements without fail.

Written by: Suraj Jayaram

An app that fails to impress end users will subsequently reduce the growth of the business. This is evident from the fact that about 50% of startup businesses close up shop within the first 2 years. A company offering software testing services can relate to this. To make sure the product/application impresses end users, they will have to make significant investments on testing tools.

However, most small businesses and startups have budget constraints, and will have to make do with sub-standard tools to release a barely functioning product. Nevertheless, the investment would be worth it in the long run, and an asset to software development as a whole.

Here are a few tools that can make a considerable difference in usability testing.
 

Optimizely

 
A user-friendly A/B testing platform, Optimizely can be used to track user visits as well as conversions. The basic package of the plan is free, but the paid version has more useful features. The key features of the tool include:

  • Cross-browser testing
  • Multivariate testing
  • Geotargeting
  • Mobile web testing
  • Visitor segmentation

 

Five Second Test

 
Measure the first impressions using Five Second Test by UsabilityHub, with each test requiring just 5 seconds to run. The procedure provides more UI feedback than most other tools, and is quite straightforward.

  • Upload brochures, home page designs, landing pages, logos etc. with a question about the usefulness.
  • The test takes 5 seconds to analyze the uploaded data
  • The reactions are gathered and consolidated

The paid version of Five Second Test is available for $20 per month.
 

Crazy Egg

 
A click-based tool, Crazy Egg is effective to understand how users click and scroll through a website. The relatively inexpensive user experience tool has 4 key features.

  • Heatmap – Know where guests click on the website page.
  • Overlay – Splits up the quantity of snaps on each page component.
  • Confetti – Provides data on guest sources, look terms, and various other segments.
  • Scrollmap – Know how far down the page a user scrolls.

The tool can be put to test for 30 days for free. After the trial period, the user is charged $9 per month.
 

Conclusion

 
There are many tools out there that can make usability testing easier. Some of them can be a bit too expensive for the average business. But, in this digital age, users have a lot of options to choose from. If one product or service doesn’t impress them, they can quickly find another. First impression basically makes or breaks the business apparently.

To deliver a product/service/application that impresses users to the point that they come back for more, defines the success of a business. That makes testing indispensable; usability testing more so. So investing on effective testing tools can be beneficial in the long run.

Written by: Suraj Jayaram

In the world of software development, change is something you have to expect occasionally. It’s inevitable. But adapting to some of those changes isn’t easy. Testers who recently became part of a new environment can relate to this. Normally, they will be asked to start by cleaning up the big mess, stabilize the team, and devise the workflow from scratch without giving them proper context.

An experienced tester can find patterns among all that mess, and figure out an optimal solution that will help them reorganize the testing team without much confusion.

Here is a 4 step technique that testers can follow when they enter a new, messy testing environment to get things in order.
 

#1. Preparing an Inventory of Test Devices

 
This is probably the best way to start. As a new member of the team, you will be presented with a bunch of testing devices. Why not start by preparing an inventory of all the test devices your team is going to use?

While categorizing and registering the devices in the inventory, make sure to consider a few factors like the operating system used by the devices, the types of devices, and how the devices can be managed. This will make it easier for you to categorize the devices, and make the whole document available to the team for reference.
 

#2. Creating Repository for All the Scattered Resources

 
Scattered resources is often a common problem in many testing teams. There would be no order. These resources may include usernames and passwords that give testers the access to whatever they require for their job, procedures to get access to those resources, information about the tools and systems used for testing, and other reference materials.

A common repository for the testing team can bring order to this chaos. The repository can be accessed and edited appropriately by everyone in the testing team. It can be kept in a common drive, say Dropbox or Google Drive. Giving access to the entire team can also help you ensure that you didn’t miss anything that should have been in the repository. This can also help new members to catch up quickly, without having to personally interview other members.
 

#3. Testing Charters and Time-boxed Testing

 
There are times when the tester has to establish a testing process and start testing right after. Many testers would take a different approach, by creating a new process from scratch. This might either work or make things more complicated.

The optimal approach is to go through the existing process to get an idea of the existing resources, and then modify the process. Modifying the existing plan can be challenging as there would most likely be repetitive or outdated scripts. Nevertheless, using the existing plan as reference can make things a lot easier for the tester, and ensure a smooth transition to a new, more efficient testing process.

From what you can gather from the existing process, you will be able to create an exploratory testing charter. Your coworkers can add their test ideas to the charter. The charter should basically make the objective of each test session clear to the team. After creating the charter, the team can start performing time-boxed test sessions. Each session and their results should be observed, documented, and kept in a central repository accessible to the entire team.
 

#4. Creating a bug template

 
A bug template is something that can be of great help when everyone other than testers including the developers, analysts, and stakeholders report bugs in various ways. Some of these reports might just have the user’s observation, while others might be descriptive. If there is a bug template for the team to follow, it could be easier for both the developers and testers to locate the bugs and fix them.

The template should have fields that describes the bug, describes how the bug was found, where the bug was found, the device and OS that’d been used when the bug was found, screenshots and other information that could shed more light on the bug.

The bug reports can then be easily understood by the testing team who will also be able to reproduce the bugs easily.
 

Conclusion

 
These are techniques that are meant to bring order to the testing environment by modifying processes and revising testing plans. However, it’s vitally important to figure out at what point the disorder began. Changing the processes alone won’t cover every context related to software applications testing. There should be focus on the people involved as well. Ultimately, it’s a team effort, and the steps mentioned above only serves to provide an easier way to manage the chaos in a software testing environment while making things less challenging for the testing team.

Written by: Suraj Jayaram
Page 4 of 5« First...2345