loader image
A Guide to Mobile Application Testing: Best Practices & Challenges

A Guide to Mobile Application Testing: Best Practices & Challenges

1 March 2023 23 Minutes Read BY Aakash Rao

We are living in the age of mobile marvels, where the use of mobile devices has become universal, and almost every person is using a smartphone or a tablet to stay connected, entertained, and informed. With the rise in popularity of these mobile devices, mobile applications have become an essential part of our lives, giving us access to a wide range of services and content. This has made mobile app testing services inevitable.

However, with the increasing use of mobile applications, there is also a growing need to ensure the quality and performance of these apps. Mobile application testing has become an essential part of the mobile application development process to ensure that apps work correctly, meet user expectations, and provide a seamless experience to users.

Number of smartphone subscriptions - statistics

The number of smartphone subscriptions worldwide today is more than 6 billion according to the statistics from Statista. This is expected to further grow by 7.69 Billion in the upcoming years.  As a result, understanding the importance of mobile application testing and how it can help software firms to develop high-quality mobile apps has become inevitable.

We will discuss the importance of mobile application testing and the different types of mobile apps. Lets also understand the overall mobile application development process and how mobile application testing helps to improve it. So without waiting further let’s dive in.

 

Table of Contents:

 

Mobile Application Testing: What is it & Why it matters

Mobile application testing is used to evaluate the consistency, usability, and functioning of application software created for mobile devices.

Apps are important for businesses to reach and get business done with customers. As per the statistics, almost 80% of the customers delete mobile apps that don’t meet their expectations, 50% uninstall apps that consume more memory on their device, and 48% abandon apps that are very slow. So software testing of mobile apps becomes very important to ensure that they satisfy customer requirements as expected.

There are different types of mobile apps. They require different testing strategies to ensure their quality and performance.

Types of Mobile Apps

Different types of mobile apps include native apps, hybrid apps, and progressive web apps. Native apps are developed for specific platforms. They require functional, performance, and compatibility testing.  Progressive web apps are developed using web technologies and require compatibility testing across different browsers, devices, and operating systems.

Hybrid apps contain elements from native and web apps combined. They require compatibility testing, performance testing, and user experience testing. We can identify bugs, performance issues, and usability problems with these apps by testing them before their deployment.

The mobile application development process can be improved by testing these apps and ensuring that they work correctly, meets user expectations, and provides a  faultless user experience.

The time required to correct bugs and issues arising after the deployment of apps can be reduced by testing them before their deployment. The resources needed can also be minimized.

But first, let’s take a glance and try to understand the overall process of Mobile Application development and the steps that are involved in the development cycle.

 

An Overview of the Mobile Application Development process

Mobile apps are the software applications developed to run on mobile devices like smartphones and tablets. The App development process has several phases. Each phase is important in making a mobile application an ideal one.

Mobile Application Development Phases

Effective testing has a decisive role in the development of a successful mobile application that satisfies the needs of its target audience. The results of thorough testing of the application done by software testers for any issues or glitches helps developers in making necessary improvements. These improvements facilitate achieving a positive user experience for the app.

Now that we understand the mobile app development process, Let’s try to explore the importance of Mobile application testing and how it can improve the overall development process.

 

Importance of Mobile Application Testing

As the demand for mobile applications is increasing, ensuring thorough testing to free them from bugs and errors before getting released to the market becomes pivotal. It plays a crucial role in maintaining the app’s reputation and ensuring user satisfaction. Below are listed some of the key ways using which mobile application testing can improve the application development process:

Importance of Mobile App Testing

Identifying Bugs and Issues:

We can identify bugs and issues in a mobile app prior to its release by mobile application testing. Testing the app across different devices, operating systems, and network conditions helps us to identify issues such as crashes, getting stuck, and poor performance. Identifying these issues early in the development process facilitates its rectification by developers before the app is released. This saves time and resources and improves the app’s quality.

Improving User Experience:

Mobile app testing improves the user experience of an app. Issues such as poor navigation and slow loading times can be identified using usability testing. These issues create a negative impact on the users using the app. The responsiveness of an app and its easiness to use can also be ensured by usability testing. Testing also ensures that an app is responsive and easy to use. These are crucial for promoting user engagement and retention. Improving the user experience increases user satisfaction. This reduces the risk of users abandoning the app.

Ensuring Compatibility:

Mobile application testing ensures correct functioning of the app across different devices and platforms. We can test the app on various devices to identify compatibility issues which will affect its performance on some of the devices or operating systems. This ensures correct working of the app for all users irrespective  of the devices they are using. By ensuring compatibility, software firms can increase the app’s reach and improve user engagement.

Increasing Security:

Security vulnerabilities in a mobile app can be identified by testing the app. Data leakage and unauthorized access are some of the security issues that can be found and addressed by testing the app. This increases the security of the app. This also protects users’ data and thus secure privacy. Thus mobile app development companies can build trust with their users and reduce the risk of data breaches.

Saving Time and Resources:

Mobile application testing helps to identify and rectify bugs and issues early in the development process. This helps in saving time and resources. The early detection of issues enables developers to fix them prior to the release of an app. So the time required to fix bugs and issues after the release of an app is reduced to a good extent. The resources required to rectify bugs and issues are also minimized. This reduces the risk of delays and cost overruns and improves overall efficiency of the mobile app development process.

Performance Optimization:

The performance of a mobile app can be optimized with the help of mobile app testing. The areas of the app that may be slow or inefficient are identified by testing the app. The app’s performance across different network settings is analyzed to identify areas that may require optimization. Optimizing an app improves its speed and responsiveness. Performance optimization helps mobile app development firms to improve user satisfaction and reduce the risk of users abandoning the app.

Enhancing Functionality:

The proper functioning of the features and functionalities of an app can be ensured by mobile app testing. We can test the functionality of an app to identify areas of the app that are working correctly, such as broken links, incorrect data display, or missing features. Enhancing functionality enables mobile app development firms to provide a better user experience and thus increase user engagement time with the app.

Continuous Improvement:

Regular mobile application testing helps to identify new bugs and issues. They may have been introduced as a result of app updation or introduction of new features into it. It’s a continuous process that improves the capacity of the app consistently. By continuously improving the app, app development firms can go on a par with changing user needs and preferences. This promotes and maintains user satisfaction.

By this, we can say Testing mobile applications is a crucial step in the development process that must not be missed.  Businesses can promote customer happiness and boost their income by making sure mobile applications are completely tested and error-free.

Also, the growing demand for mobile applications makes it essential to ensure the stability and sturdiness of apps and its ability to work seamlessly across different platforms and devices.

 

Types of Mobile Application Testing

There are different types of mobile application testing services. App developers and testers can use them to ensure that an app meets the highest standards. Listed below are the most common types of mobile app testing:

 

Types of Mobile App Testing

Functional Testing

This testing type verifies whether the app functions as intended. It evaluates various features and functionalities of an app, such as user interface, navigation, login, and registration.

Performance Testing

This testing type evaluates how an app performs under different loads, network conditions, and available resources like memory. It includes load testing, stress testing, and speed testing.

Security Testing

Helps to ensure security of mobile apps as they collect and store sensitive user data. This testing type helps to secure the app from unauthorized access and to protect user data from hackers and malware.

Compatibility Testing

Tests the proper functioning of an app across multiple devices having different operating systems and network settings. Also evaluates its compatibility with different screen sizes and resolutions on the device in which it is installed.

Usability Testing

Tests the user-friendliness of an app and its easiness to use. Also evaluates the user interface of an app, its navigation, and its user experience.

Installation Testing

This testing type evaluates the installation and uninstallation process of an app. It ensures that we are able to install and uninstall an app without any issues.

Localization Testing

Used to ensure that an app is customized to meet the demands in terms of language, culture, and preferences. It checks translation and localization of an app, including the language, currency, date, and time formats.

Accessibility Testing

Ensures that an app is usable by users with disabilities. It checks the app’s compatibility with screen readers, voice commands, and other assistive technologies.

Since we are aware of the importance of Mobile Application testing now, let’s explore some of the techniques which are used for the effective testing of mobile apps.

 

Techniques for Effective Mobile Application Testing

Let’s try to explore some of the most effective mobile application testing techniques:

Manual Testing

It is a fundamental technique that involves human testers performing tests on the app manually. This testing involves simulating real-world usage scenarios to verify that the app functions correctly. Manual testing is crucial because it helps testers identify issues that automated testing might miss.

Pros:

  • Human testers can identify complex issues that automated tools may miss.
  • Software testers can test the functionality of an app along with its user experience to ensure that it meets business goals and user expectations.
  • Feedback and suggestions to improve the app can be provided by human testers.

Cons:

  • Manual testing is time-consuming and expensive.
  • It is difficult to reproduce bugs and issues.
  • The quality of testing depends on the skill and experience of the tester.
Automated Testing

It involves using software tools to perform tests on the app automatically. This technique is efficient and can perform tests faster than manual testing. It helps to perform repetitive tests and regression testing since it involves retesting the app after modifications or updates.

Pros:

  • Automated testing is much faster and efficient than manual testing.
  • It serves the best for testing large and complex apps.
  • Since it is repeatable and consistent, it ensures that tests are executed the same way every time.
  • It helps for regression testing which ensures that modifications and updates do not cause new issues.

Cons:

  • Automated testing cannot identify issues that require human intuition and expertise.
  • It can be challenging to create effective automated tests, requiring significant time and resources.
  • It may miss some issues that occur only in specific usage scenarios.
Exploratory Testing

It is an unscripted approach to testing the app. It involves testers exploring the app and testing different scenarios to identify any issues or bugs that might occur during normal usage.

Pros:

  • The issues that are difficult to detect using other testing techniques can be identified using exploratory testing.
  • The app’s user experience and usability can be evaluated effectively.
  • Feedback and suggestions to improve the app can be provided by Software testers.

Cons:

  • It is difficult to reproduce issues found during exploratory testing.
  • It may not be as effective for testing specific functionality or features.
  • It may not be suitable for all testing scenarios, such as security testing.
Ad-hoc Testing

It is a technique that involves testing the app without following any specific testing plan. This testing approach helps testers identify issues that might occur in unusual scenarios or usage patterns.

Pros:

  • Testers can identify issues that occur in unusual scenarios or usage patterns.
  • It is useful for quick and informal testing.
  • It can be performed by anyone with access to the app, without requiring specialized skills or tools.

Cons:

  • It is not a comprehensive testing approach and may miss important issues.
  • Testers may not have a clear understanding of what they are testing, leading to inconsistent results.
  • It may not be suitable for testing critical functionality or features.
Crowd Testing

It involves using a large number of testers from different locations and backgrounds to test the app. This technique helps testers identify issues that might occur in different environments and usage scenarios.

Pros:

  • It can provide a diverse range of feedback from testers with different backgrounds and expertise.
  • It can be performed quickly and at a lower cost than hiring a dedicated testing team.
  • It can simulate real-world usage scenarios, identifying issues that may not be apparent in controlled testing environments.

Cons:

  • Coordination and management of a large number of testers can be challenging.
  • The quality of testing may vary depending on the skill and experience of the testers.
  • It may not be suitable for testing critical functionality or features.
Usability Testing

It involves testing the app’s user interface, navigation, and overall user experience. This testing technique helps app developers and testers ensure that the app is user-friendly and delivers an optimal user experience.

Pros:

  • It can help identify issues with the app’s user interface and user experience.
  • It can provide valuable feedback and suggestions for improving the app’s usability
  • It can ensure that the app meets user expectations and aligns with business goals.

Cons:

  • It may not be suitable for testing other important aspects of the app, such as performance or security.
  • It can be time-consuming and costly.
  • Testers may have biases that affect their evaluations.

 

Testvox - Software Testing Services

 

Cloud Testing Tools for Mobile Application Testing:

Today, cloud-based testing tools have become increasingly popular for mobile application testing as they provide access to a wide range of real devices, offer cost-effective and scalable testing solutions, allow for collaboration and remote testing, and provide faster testing cycles.

By leveraging the power of the cloud, organizations can ensure high-quality and reliable mobile applications that perform well across multiple devices, operating systems, and networks, while reducing the time and cost associated with setting up and maintaining on-premise testing infrastructure.

Let’s explore some of the popular cloud testing tools used for Mobile application testing:

 

Perfecto

Perfecto-Mobile Application Testing Tool

Perfecto is a cloud-based mobile application testing tool that allows you to test your applications on real devices. It supports both Android and iOS applications and provides access to a wide range of devices, including smartphones, tablets, and wearables. Perfecto can be used for both manual and automated testing and supports popular testing frameworks like Appium and Selenium.

Pros:

  • Provides access to a large number of real devices for testing.
  • Offers integration with popular test automation frameworks.
  • Supports testing of both native and web applications.
  • Provides detailed analytics and reporting for test results.

Cons:

  • Expensive pricing model.
  • Requires some setup time for initial configuration and integration.

 

pCloudy

pCloudy-Mobile Application Testing Tool

pCloudy is a cloud-based mobile application testing tool that allows you to test your applications on a variety of devices and browsers. It supports both Android and iOS applications and provides access to over 5,000 real devices, including smartphones, tablets, and wearables. pCloudy can be used for both manual and automated testing and supports popular testing frameworks like Appium and Espresso.

Pros:

  • Provides access to a large number of real devices for testing.
  • Offers integration with popular test automation frameworks.
  • Supports testing of both native and web applications.
  • Provides detailed analytics and reporting for test results.

Cons:

  • Can be expensive for large-scale testing.
  • The user interface can be a bit overwhelming for first-time users.

 

Lambdatest

LAMBDATEST-Mobile Application Testing Tool

Lambdatest is a cloud-based mobile application testing tool that allows you to test your applications on a variety of devices and browsers. It provides access to over 2,000 real devices and browsers, including smartphones, tablets, and desktop browsers. Lambdatest can be used for both manual and automated testing and supports popular testing frameworks like Appium and Selenium.

Pros:

  • Provides access to a large number of real devices and browsers for testing.
  • Offers integration with popular test automation frameworks.
  • Supports testing of both native and web applications.
  • Provides detailed analytics and reporting for test results.

Cons:

  • Can be expensive for large-scale testing.
  • Some users report issues with test stability and reliability.

 

BrowserStack

BrowserStack-Mobile Application Testing Tool

BrowserStack is a cloud-based testing tool that allows you to test your mobile applications on a variety of devices and browsers. It provides access to over 2,000 real devices and browsers, including smartphones, tablets, and desktop browsers. BrowserStack can be used for both manual and automated testing and supports popular testing frameworks like Appium and Selenium.

Pros:

  • Provides access to a large number of real devices and browsers for testing.
  • Offers integration with popular test automation frameworks.
  • Supports testing of both native and web applications.
  • Provides detailed analytics and reporting for test results.

Cons:

  • Can be expensive for large-scale testing.
  • Some users report issues with the speed and responsiveness of the platform.

 

Kobiton

Kobiton-Mobile Application Testing Tool

Kobiton is a cloud-based mobile application testing tool that allows you to test your applications on real devices. It supports both Android and iOS applications and provides access to a wide range of devices, including smartphones, tablets, and wearables. With Kobiton, you can perform manual and automated testing and collaborate with your team in real time.

Pros:

  • Provides access to a large number of real devices for testing.
  • Offers integration with popular test automation frameworks.
  • Supports testing of both native and web applications.
  • Provides collaboration features for team testing.

Cons:

  • Some users report issues with device connectivity and stability.
  • Can be expensive for large-scale testing.

 

Automated Mobile Application Testing Frameworks

We have gone through the different techniques used for Mobile Application testing. Let’s explore some of the widely used frameworks for the automated testing of mobile applications.

These frameworks provide pre-defined functions and APIs to interact with the mobile application, and they can simulate user actions such as button clicks, screen swipes, and data input. We present Seven popular Automated Mobile Application Testing Frameworks with their pros and cons.

Appium:

Appium-Automated Mobile Application Testing Framework

Appium is an open-source automation framework for mobile app testing, supporting both iOS and Android platforms. It comes with an easy installation process and uses the WebDriver protocol to interact with the mobile app and provides APIs in multiple programming languages including Java, Python, Ruby, and JavaScript.

Pros:

  • Cross-platform testing for iOS and Android.
  • Supports multiple programming languages.
  • Easy to set up and integrate with CI/CD pipelines.
  • Supports real devices and emulators/simulators.

Cons:

  • Limited support for testing web and hybrid mobile apps.
  • The high learning curve for beginners.
  • Requires additional setup for parallel testing.
Espresso:

Espresso-Automated Mobile Application Testing Framework

Espresso is a UI testing framework for Android apps, developed by Google. It provides a fast and reliable test execution by leveraging the Espresso Test Recorder tool to generate test code.

Pros:

  • Developed by Google for Android testing.
  • Fast and reliable test execution.
  • Supports testing of complex UI components.
  • Supports both Android and iOS testing.

Cons:

  • Only supports Android versions 4.4 (KitKat) and above.
  • Testing requires modification of the app source code.
  • Limited support for cross-platform testing.
Robot:

Robot-Automated Mobile Application Testing Framework

Robot Framework enables testing of mobile apps, web applications, and APIs as it is a generic automation framework. It supports multiple programming languages including Python and Java and provides a range of pre-built libraries for testing different scenarios.

Pros:

  • Supports testing of mobile apps, web applications, and APIs.
  • Supports multiple programming languages.
  • Easy to learn and use for beginners.
  • Offers a wide range of libraries for testing different scenarios.

Cons:

  • Limited support for mobile app testing on iOS.
  • Requires additional setup for parallel testing.
  • Limited support for testing mobile-specific features such as location services and cameras.
Calabash:

Calabash-Automated Mobile Application Testing Framework

Calabash is an open-source automation framework that supports cross-platform testing for iOS and Android apps. It uses a natural language syntax for test development and supports multiple programming languages.

Pros:

  • Supports cross-platform testing for iOS and Android.
  • Allows testing of native, hybrid, and mobile web apps.
  • Supports multiple programming languages.
  • Provides pre-built libraries for common testing scenarios.

Cons:

  • Testing requires modification of the app source code.
  • Limited support for testing iOS apps on real devices.
  • Limited support for testing mobile-specific features such as GPS and camera.
Selendroid:

Salendroid-Automated Mobile Application Testing Framework

Selendroid is a test automation framework for Android apps that supports native and hybrid mobile apps. It provides a built-in inspector tool for debugging and supports multiple programming languages including Java and Python.

Pros:

  • Supports testing of native and hybrid mobile apps.
  • Supports both Android and iOS testing.
  • Provides a built-in inspector tool for debugging.
  • Offers multiple programming language support.

Cons:

  • Limited support for testing iOS apps on real devices.
  • Testing requires building of an app with Selendroid server integration.
  • Limited community support compared to other frameworks.
XCTest:

XCTest-Automated Mobile Application Testing Framework

XCTest is a native testing framework developed by Apple for iOS apps. It supports both Swift and Objective-C programming languages and provides a range of APIs for testing user interfaces, performance, and other features.

Pros:

  • Developed by Apple for iOS testing.
  • Supports both Swift and Objective-C programming languages.
  • Support testing of both native and hybrid mobile apps.
  • Provides a built-in recorder tool for UI testing.

Cons:

  • Limited support for testing on older iOS versions.
  • Only supports iOS testing.
  • Requires Xcode IDE for test development.
Katalon Studio:

Katalon Studio-Automated Mobile Application Testing Framework

Katalon Studio is a comprehensive test automation tool that supports the testing of both web and mobile applications. It provides a range of built-in features for testing mobile apps, including object spying, recording and playback, and automatic generation of test reports.

Pros:

  • Supports testing of both web and mobile applications.
  • Provides built-in object spy and recorder for test development.
  • Supports multiple programming languages.
  • Offers integration with CI/CD tools

Cons:

  • Limited support for testing on real devices.
  • Requires additional setup for parallel testing.
  • Limited community support compared to other frameworks.

Overall, each of these Automated Mobile Application Testing Frameworks has its own strengths and weaknesses, and the choice of the framework will depend on the specific needs and requirements of the testing project.

 

The Challenges for Mobile Application Testing

Mobile application testing can be challenging due to several factors such as the ever-changing mobile device landscape, device fragmentation, platform diversity, and constantly evolving user expectations. Some of the challenges and best practices for mobile application testing include

Challenges for Mobile Application Testing

Device fragmentation:

With the variety of devices available in the market, it is challenging to test an app on all of them, making it difficult to ensure compatibility.

The issue of device fragmentation refers to the numerous types of devices available in the market with different screen sizes, resolutions, hardware specifications, and operating systems. This makes it challenging for app developers to test the app on all devices and ensure compatibility.

Operating system diversity:

There are multiple operating systems available for mobile devices, each with its unique features and functionalities, which makes it difficult to ensure consistent performance across all devices.

We need to test Mobile apps on multiple operating systems, such as iOS, Android, and Windows, to ensure that they perform well on each of these platforms.

Network diversity:

Users access mobile applications through different networks, including 3G, 4G, and Wi-Fi, and the quality of network connectivity can vary widely, which can impact the performance of the app.

We need to test Mobile apps on different networks to ensure that the app performs well in all network conditions.

Rapid development cycles:

With Agile and DevOps development methodologies, mobile app development has become a continuous process, making it challenging to ensure the quality and completeness of testing.

Testers face difficulty in keeping up with the changes and ensuring comprehensive testing of the app before its release due to the fast-paced development cycle.

Security concerns:

With the rise of mobile device usage, cyber-attacks targeting mobile applications have also increased, making it essential to test for security vulnerabilities.

Conducting thorough security testing is necessary for app developers to ensure the app’s security and protection of user data from unauthorized access.

 

Best practices for Mobile Application Testing

Now that we understand the challenges of Mobile Application testing it’s time to understand some of the best practices to overcome these challenges.

As we saw before, Mobile Automated mobile application testing is important because it helps ensure that mobile apps function as intended, providing a seamless user experience across different devices and platforms.

Automating the testing process enables developers and testers to identify issues and bugs early on, facilitating quick and efficient resolution. This can save time and resources while improving the quality of the app. Additionally, automated testing can help increase test coverage and reduce the risk of human error, leading to more reliable and consistent test results.

Let’s explore some of the best practices with Automated Mobile Application testing that each and every developer and tester should follow in detail to help and ensure the quality and success of the mobile app:

Best Practices for Automated Mobile App Testing

Choosing the Right Tool

It is important to select the right tool for mobile application testing that supports the specific needs of your project. Evaluate the features, supported platforms, ease of use, and compatibility with your development workflow before selecting a tool.

Creating a Testing Strategy

Develop a comprehensive testing strategy that includes a plan for automation. This includes the types of tests to be performed, the devices and platforms to be tested on, and the expected outcomes.

Prioritizing Tests

By prioritizing the most critical test scenarios first, testers ensure thorough testing of the most important features of the app. This will help you identify and resolve issues earlier in the development cycle.

Testing on Real Devices

It is important to test on real devices rather than relying solely on simulators or emulators. This will help identify issues related to real-world usage scenarios such as device compatibility, network connectivity, and battery life.

Conducting Regular Regression Testing

Regularly running automated regression tests will help ensure that new changes or updates to the app do not negatively impact existing functionality.

Integrating with CI/CD

To ensure automatic execution of tests as part of the development process, integrate your automated testing with your Continuous Integration/Continuous Delivery (CI/CD) pipeline. Implementing this approach will help in catching issues early and reducing the risk of introducing bugs into production.

Monitoring Performance

Monitoring the performance of the app during automated testing to identify any issues related to speed, responsiveness, or user experience. This will help ensure that the app performs well under real-world conditions.

Collaborating with Development and QA Teams

Successful automated mobile application testing requires essential collaboration between the development and QA teams. To ensure alignment on the testing strategy, everyone should work together to identify and resolve issues as they arise.

By following these best practices, you can ensure that your automated mobile application testing is efficient, effective, and delivers high-quality results.

 

Wrapping up

By now, it’s clear that mobile application testing is a critical process in ensuring that the app meets the desired quality and functionality standards.

Testing presents various challenges, such as device fragmentation, operating system diversity, and network diversity, which can impact app performance. However, by implementing the best practices such as device selection, test automation, and continuous testing, developers and testers can overcome these challenges and ensure that the app performs optimally.

Overall, mobile application testing requires careful planning, attention to detail, and a commitment to quality. By following best practices and being aware of the challenges, developers and testers can create high-performing, secure, and user-friendly mobile applications that provide an excellent user experience.

 

Aakash Rao
Aakash Rao

A Frontend Developer and Technical Writer based in India who loves to create and share knowledge on the Internet and the community. I am a community guy who loves to connect and interact with fellow developers and enthusiasts. Alongside, I love to listen to podcasts and read books with a keen passion to explore other fields such as Graphic design & VFX.

Aakash Rao

A Frontend Developer and Technical Writer based in India who loves to create and share knowledge on the Internet and the community. I am a community guy who loves to connect and interact with fellow developers and enthusiasts. Alongside, I love to listen to podcasts and read books with a keen passion to explore other fields such as Graphic design & VFX.