Category Archive

Testing

How IoT is Improving the Quality of Healthcare

How-IoT-is-Improving-the-Quality-of-Healthcare

IoT is redefining Healthcare. Look around and you will find people with smart devices that track their every move, calculate their intake, and give them trends on this data.

Primitively caregivers and hospitals were using telemetry to remotely gather data for improving patient care. The primary aim of preventive healthcare was to deliver personalized care, improve patient care without spending a huge amount of money.

The Internet of Medical Things (IoMT) is driving the future of the healthcare industry. It can bring better outcomes; improve efficiency and make healthcare more affordable, as caretakers are increasingly resorting to more self-care due to increased awareness. To achieve this, healthcare providers must make use of the latest technology in a more systematic way.

The Scope of IoT is Getting Bigger and Better in:

  • Preventive healthcare: by use of wearables.
  • Patient tracking: in monitoring patient movement and health analysis.
  • Geriatric care: in tracking senior citizens which is a large market for IoT and medical devices.
  • Real-time location tracking: in tracking medical devices, people, and asset movement.

It is predicted that the revenue from smart wearables will increase to around $22.9 billion by the end of 2020. Experts from P&S Market research expect that the Internet of Things industry will grow at a compound annual growth rate (CAGR) of 37.6% between 2015 and 2020.

Wearables for Preventive Health Analysis 

Imagine a wearable is used for preventive health analysis. The term wearable in health parlance should not be restricted to just fitness tracking devices worn in the wrist that is used to monitor personal health.

The term wearables should go beyond the tracking of physical activities. It could be used as a communication device or it could even be a device that interacts with other devices like an Apple watch. It could be a device in the body, on the body or near the body like a medical app that helps track personal health;

Some of the leading medical apps that are already disrupting the healthcare market are:

  • Philips’ Medication Dispensing Service
  • Boiron Medicine Finder App
  • Future Path Medical’s Urosens

Digital Hospitals Making a Headway

The Healthcare industry is increasingly leveraging modern technology and digital hospitals are making headway such as the Humber River Hospital in Toronto Canada and the Medical Center at Mission Bay San Francisco. Innovative approaches towards engaging robots in the radiology and other departments are also disrupting the way healthcare is delivered.

Deakin University Australia, in partnership with Telstra Australia, has developed haptics-enabled robots that can perform ultrasound diagnostics remotely. This means the patient need not be in the same place as the sonographer conducting the ultrasound.

IoMT for Improved Healthcare

There are over 97,000 mobile healthcare apps as of 2019 and the mHealth app marketplace is expected to grow 15 times faster, according to a survey. Another survey indicates that users prefer digital services to communicate with doctors, monitor health, and collaborate with caregivers with ease.

Final Thoughts

IoT is clearly here to stay. With the cost of Hardware coming down, there’s no dearth in demand for wearables as this space is just short of an explosion, especially, in the mature markets.

IoT devices and apps are helping healthcare professionals in providing better care for their patients. There is definitely much scope for advancement for IoT in the healthcare sector.

Looking to leverage IoT technology for a healthcare solution? Kindly Contact Us here.

Will Automation Eliminate Manual Testing?

Will-Automation-Eliminate-Manual-Testing

We live in an era where software development has been revolutionized by AI (Artificial Intelligence) & ML (Machine Learning). It is expected that testing will be taken over by automation with its new developments and advancements, but that is not the case. Software manual testing has been around for many decades since initial software development, and the industry has taken multiple shifts. However, its scope remains the same. In this article let us explore the impact automation testing has over manual testing.

Why is manual testing still relevant?

New Projects: Projects in pilot phases which begin as a concept and take shape during early sprints require testing to be done manually. Using automation testing during the initial phases of a project would be expensive as it undergoes continuous changes. Using manual testing in these cases would be cost-efficient and easy to accommodate changes.

End 2 End Testing: Automation testing can be used to test single systems or integration levels in detail. Whereas, End 2 End testing involves multiple systems and require manual testing. Automation testing that runs an End 2 End test scenario has many challenges, especially systems have different tech stacks. Design changes involving systems in End 2 End testing impacts maintenance cost.

Maintenance Cost: For small projects or components, automation testing costs higher than manual testing. Performing quick manual testing would suffice for smaller projects/ components that undergo frequent changes rather than updating test scripts after rerunning those tests manually.

UX Testing: Maintenance costs are proportional to UX changes. Each time UI/UX change, test cases break and raise a false fail. When changes are encountered in a script, there are rework/ maintenance to achieve the test pass. This impacts the next UI changes again. So, for an application with frequent UI/UX changes, automation testing is costlier than manual testing.

Visual Testing: While there are few automation tools available in the market, AI & ML are incorporated with visual testing to achieve 100% test result. But the number of hours required to train AI to understand minute changes in UI would be expensive than performing manual tests. Sometimes, human eyes can find a little misaligned text boxes, which could be challenging for an automation tool. Such automation tools with AI & ML are expensive compared to manual testing.

User Acceptance Testing: There is no way user acceptance testing could be automated. Beta users/client team must experience the end product by simulating user experience using manual testing.

How automation testing can be leveraged?

Let us discuss the areas where automation has to be implemented to support manual testing efforts.

Regression: When a part of the product is regression and the product or UI changes, tests have to be automated using open source software. Using automation testing can therefore save manual testing time.

Integration Testing: API level automation can be quickly created like manual testing. Tools like Postman enables to create tests that can be automated using runner feature. When manual testing is performed, requests are stored as collection. This stored collection can be run any time as a test suite to rerun the test scenarios.

Smoke Test on CI/CD: Automating test scripts for smaller projects are expensive. However, using smoke test scenario would reduce the cost. Smoke tests undergo changes to get added to CI/CD pipeline for project code deployment capturing blocker/showstopper issues during code deploy to QA/Stg environment, before the code is released to production.

Conclusion:

Manual and automation testing complement each other. Manual testing is as important as automation testing and there can be no project that is purely manual. There will always be an area where automation can be leveraged with open source tools which are no-cost and low maintenance. No project can completely use automation testing as client expectation keeps changing; manual testing is the way to handle frequent changes and ad-hoc testing requests. It is up to the project management to decide how and where manual and automation testing have to be implemented to provide a customer satisfied product delivery.

Can you be Agile without Continuous Delivery

Can-you-have-Agile-without-Continuous-Delivery

Challenges During Agile Transition 

Organizations performing an agile transition are often unhappy with the results. Usually, they follow scrum structure and build cross-functional teams with all the skills required.  

Agile coaches and scrum masters explain the three foundations of scrum — transparency, inspection, and adaptation. They also help us understand the different scrum activities such as sprint, daily scrum, sprint planning, sprint analysis, and sprint retrospective.  

Teams are mentored on the value of quality improvement and they are demonstrated that every scrum procedure is an opportunity to inspect and adapt.  

Despite these efforts, the business value delivery seems to take far longer than expected and enterprises are not reaping the agile transformation rewards or promises.  

Software Development Evolution 

A usefully simplified description of the advances in software development are listed below: 

  • Waterfall claims that a team would only start getting the software ready for releases after all the release functionalities (i.e., full featureare created.  
  • Agile insists that the team will be ready to release its software throughout development. Most types of agile assume that this will happen regularly.  
  • Continuous delivery requires the team to keep the software always ready to be released during development. It is not traditional agile as it does not require waiting and making a special effort to build a releasing framework. 

Agile Software Development  

Agile software development is not a methodology in the strict sense of the term. It is more of a culture or an approach where you recognize the needs of the situation and adapt to it accordingly.  

This technology requires adaptive planning and evolutionary development in addition to early delivery. Hence, there is a need for continuous improvement as it encourages a flexible response to the changes in the surroundings.  

Applications of Agile: Simple Examples  

Agile software development has a variety of applications in diverse fields. You can sense the difference in the technologies involved in activities we do almost every day. Take the internet or mobile banking, for instance. Transferring funds from one account to another is a regular activity for any person or business. You need security layers to be in place to ensure the safety of your funds.  

Now, these security layers need constant updates so that hackers are not able to crack the code. Hence, based on feedback received from industry experts and consumers, the mobile banking app developers keep updating their systems. Therefore, you find something new every fifteen days or so. In the early days, there were only passwords as a layer of security. Now you have additional layers like grid combinations, 2-way authentication measures like OTP and so on. The process of improvisation is continuous.  

This is agile software for you. They cannot wait until something drastic happens. The process of delivery has to be continuous. Agile software specializes in identifying threats or problems before they materialize. Thus, it is ready with a solution beforehand. However, having a solution alone is not enough. The critical aspect is the delivery and utility of the solution. Thus, one can say that agile software is of no use unless there is continuous delivery.  

Hence, you can see that continuous improvement is always necessary for every industry.  

Continuous Delivery — A Subset of Agile 

The very definition of agile software development says that it is a group of software development procedures that are based on iterative and incremental development. There is a continuous evolvement that requires collaboration among various factors. Therefore, agile software cannot work without continuous delivery. There has to be a constant and continuous change in the circumstances.  

You can see the application of agile software in a project management process. Breaking down a large project into smaller doable actions is the best way to approach any project. In this way, you will always be ready to change your plan of action should anything go wrong somewhere in between. Web designing is also an excellent example of the application of agile. You keep on improvising the design to suit customer preferences. You gauge these preferences by interacting with the customers at frequent intervals. Thus, you can see that agile is all about flexibility and adaptability.  

Conclusion  

This brings us back to the question Can you have agile without continuous delivery”? You can see that it is just not possible to do so. The principal characteristic of agile is adaptability. Now, adaptability means continuous change concerning the situation. When the situation demands a particular solution, you need to adapt. This is what makes agile an exciting piece of software development process.  

How to create successful mobile app testing strategies

How-to-create-successful-mobile-app-testing-strategies

Today, smartphones have become the standard for communication both for consumers and businesses worldwide. Mobile apps are driving personal and professional interactions.

So, what makes a mobile app succeed? And what drives consumers to use your app?

User experience can make or break a mobile application. Software glitches like bugs crashes or other unexpected behavior can quickly erode the creator’s reputation, and push the app down the search listings. Only, Apps that have 5-star ratings will be the preferred choice for many consumers and you should be aware of that.

Like any application testing, mobile app testing enhances the quality and performance of the end product. Here are the 5 key considerations for creating a successful mobile app testing strategy that aligns with your customer expectations, business goals, and industry best practices.

DEVICE SELECTION

In this context, it is important to consider how the selection of mobile devices is an integral part of the testing process, as the performance and functionality of the device tested can differ significantly. That’s because we can find a wide variety of devices in the market that have specific processing capacities, screen resolution or even hardware components to incorporate into our app. 

The first step is to define devices common for your target population. Depending on their success in the regional markets you seek, you need to pick the apps. All the relevant devices on your market should be included on your list. Once you list every unit, take into account its market share.

TESTING ON CLOUD

Cloud-based Mobile App Solution allows developers and testers worldwide to communicate and connect via the internet to mobile devices. Testers have access to almost any system in cloud technology using many OS formats, models, network providers, and so on. Apps may be loaded via APIs or web clients.

Testing, which is performed through real-world devices, is therefore preferable in the cloud. Cloud-based simulators and emulators allow testers to do everything a real user would do such as swiping, double-tapping, zooming, scrolling, rotating, etc. Cloud-based monitoring can also identify performance problems.

NETWORK CONNECTIVITY

Most mobile apps are evaluated on networks, which are easily accessible and function well – like your workplace. However, not all users around geographies are reflected by this. 

Apps are focused on constant, real-time information exchanges between servers and users in various parts of the world. Your mobile device can vary as network performance varies depending on network conditions.

The only realistic way of understanding how the mobile device functions in various network configurations is to check-in simulated network conditions. This is important for the prevention of network failures that affect the quality of end-user experience.

TESTING METHODOLOGY

The mobile testing approach ensures that mobile device quality and design requirements are followed. The selection of the technique for evaluating the unit is the most critical aspect in determining a mobile test strategy. As stated previously, the selection of devices is focused on the study of product use and popularity on the market.

Basically, mobile testing is carried out using either of the three:

  • Physical device—The customer or app developer chooses the physical device based on the device’s popularity in the specific area.
  • Emulator/Simulator—Digital computers are emulators or simulators. Those applications are software that simulates a real system. These are very useful during the application development process. Emulators allow quick application testing without the use of a real computer.
  • Mobile Cloud labs—Mobile cloud labs use cloud computing to run mobile devices on multiple systems and networks using internet connection. Cloud labs can be used for testing, updating and managing applications.

PERFORMANCE AND SECURITY TESTING

It’s always good to test your mobile app for performance and security issues. Since today’s smartphones come with a generous amount of storage, it’s common for users to have large amounts of data on their smartphones. Thus, you should test your app for vulnerabilities and performance especially with huge volumes of data.

FINAL THOUGHTS

Today’s mobile ecosystem is very dynamic. As OEMs are launching new devices with new customizations, software and hardware fragmentation prevails in this mobile ecosystem. To ensure compatibility and performance, it is highly recommended to test your mobile app against all real devices instead of emulators. 

If you need help in testing your mobile app, kindly contact us. We are happy to help!