Tag: mobile application testing

BlogMobile AppWeb App

Software Application Testing: Different Types & How to Do?

In the ever-evolving landscape of technology, application testing & quality assurance stands as crucial pillars for the success of any software product.

This article delves into the fundamentals of application testing, including its definition, various testing types, and how to test a software application.

We aim to provide a comprehensive guide that will assist you in understanding and optimizing your application testing process, ensuring the delivery of high-quality software products. Let’s get cracking!

       

What is Software Application Testing?

Software application testing involves using testing scripts, tools, or frameworks to detect bugs, errors, and issues in software applications.

It is a crucial phase in every software development life cycle (SDLC), helping to identify and resolve issues early on, ensuring application quality, and avoiding costly damage.

what is software application testing?

What is Software Application Testing?

 

According to CISQ, poor software cost the U.S. economy $2.08 trillion in 2020 alone. VentureBeat also reported that developers spend 20% of their time fixing bugs.

The costs of software bugs extend beyond the direct financial expenses that a software developer must make to fix the bugs. They lead to productivity loss due to worker downtime, disruptions, and delays. Additionally, they can harm a company’s reputation, indicating a lack of product quality to clients.

Moreover, bugs can introduce security risks, leading to cyberattacks, data breaches, and financial theft.

For instance, Starbucks was forced to close about 60% of its stores in the U.S. and Canada, due to a software bug in its POS system. In 1994, a China Airlines Airbus A300 crashed due to a software error, resulting in the loss of 264 lives.

These statistics and examples emphasize the importance of application testing. However, implementing an effective QA process requires essential steps and a comprehensive testing plan.

 

Software Application Testing Process: How to Test a Software Application?

A thorough software testing process requires well-defined stages. Here are the key steps:

software application testing process

Software Application Testing Process

Requirement analysis

During this initial phase, the testing team gathers and analyzes the testing requirements to understand the scope and objectives of the testing process.

Clear test objectives are defined based on this analysis, aligning the testing efforts with the overall project goals. 

This step is crucial for customizing the software testing lifecycle (STLC) and determining the appropriate testing approaches.

 

Test planning

After analyzing requirements, the next step is to determine the test plan strategy. Resources allocation, software testing tools, test environment, test limitations, and the testing timeline are determined during this phase:

  • Resource allocation: Determining the resources required for testing, including human resources, testing tools, and infrastructure.
  • Test environment setup: Creating and configuring the test environment to mimic the production environment as closely as possible.
  • Test limitations: Identifying any constraints or limitations that may impact testing, such as time, budget, or technical constraints.
  • Testing timeline: Establishing a timeline for testing activities, including milestones and deadlines.
  • QA metrics: Determining testing KPIs and expected results to ensure the effectiveness of the testing process.

Check out the comprehensive test plan template for your upcoming project.

 

Test case design

In this phase, the testing team designs detailed test cases based on the identified test scenarios derived from the requirements. 

Test cases cover both positive and negative scenarios to ensure comprehensive testing coverage. The test case design phase also involves verifying and reviewing the test cases to ensure they accurately represent the desired software behavior.

For automated testing, test scripts are developed based on the test cases to automate the testing process.

 

Test execution

Test execution is where the actual testing of the software application takes place. Testers execute the predefined test cases, either manually or using automated testing tools, to validate the functionality of the software.

Input data and various conditions are simulated during this phase to assess how the software responds under different scenarios. Any defects encountered during testing are documented and reported for further analysis and resolution.

Delve deep into testing world:

 

Test cycle closure and documentation

The final step involves closing the test cycle and documenting the testing process comprehensively.

A test completion matrix is prepared to summarize test coverage, execution status, and defect metrics. Test results are analyzed to identify trends, patterns, and areas for improvement in future testing cycles.

Comprehensive documentation of test results, defects, and testing artifacts is prepared for reference and software audit purposes. Conducting a lessons-learned session helps capture insights and best practices for optimizing future testing efforts.

application testing with lqa experts

 

Software Application Test Plan (STP)

A software application test plan is a comprehensive document that serves as a roadmap for the testing process of a software application or system. It outlines the approach, scope, resources, schedule, and activities required for effective testing throughout the software development lifecycle.

A well-crafted test plan is crucial for ensuring the success, reliability, and quality of a software product. It provides a detailed guide for the testing team, ensuring that testing activities are conducted systematically and thoroughly.

software application test plan

Software Application Test Plan (STP)

 

A standard test plan for application testing should define the following key features:

  • Testing scope: Clearly define the boundaries and coverage of testing activities, including what functionalities, modules, or aspects of the application will be tested.
  • Testing objective: Pinpoint the specific goals and objectives of the testing process, such as validating functionality, performance, security, or usability aspects.
  • Testing approach: Outline the testing approach to be used, whether it’s manual testing, automated testing, or a combination of both. Define the test strategies, techniques, and methodologies to be employed.
  • Testing schedule: Establish a detailed testing schedule that includes milestones, deadlines, and phases of testing (such as unit testing, integration testing, system testing, and user acceptance testing).
  • Bug tracking and reporting: Define the process for tracking, managing, and reporting defects encountered during testing. Include details about bug severity levels, priority, resolution timelines, and communication channels for reporting issues.

In case you haven’t created a test plan before and desire to nail it the very first time, make a copy of our test plan template and tweak it until it meets your unique requirements.

By incorporating these key features into a test plan, organizations can ensure a structured and comprehensive approach to software application testing, leading to improved quality, reduced risks, and better overall software performance.

application testing with lqa experts

 

Before diving into the implementation of an application testing process, it is vital to grasp the different types of testing for a successful strategy. Application testing can be classified in various ways, encompassing methods, levels, techniques, and types. To gain a comprehensive and clear understanding of the application testing system, take a look at the infographic below.

types of testing

Types of testing

 

Application Testing Methods

There are two primary application testing methods: Manual Testing and Automation Testing. Let’s explore the key differences between Manual Testing vs Automation Testing, and understand when to use each method effectively.

Manual testing

This testing method involves human QA engineers and testers manually interacting with the software app to evaluate its functions (from writing to executing test cases).

In manual testing, QA analysts carry out tests one by one in an individual manner to identify bugs, glitches, defects, and key feature issues before the software application’s launch. As part of this process, test cases and summary error reports are developed without any automation tools.

Manual testing is often implemented in the first stage of the SDLC to test individual features, run ad-hoc testing, and assess one-time testing scenarios. 

It is the most useful for exploratory testing, UI testing, and initial testing phases when detecting usability issues and user experience problems.

 

Automation testing

This testing method utilizes tools and test scripts to automate testing efforts. In other words, specified and customized tools are implemented in the automation testing process instead of solely manual forces.

It is efficient for repetitive tests, regression testing, and performance testing. Automation testing can accelerate testing cycles, improve accuracy, and ensure consistent test coverage across multiple environments.

manual test and automation test

Manual Test and Automation Test

 

Application Testing Techniques

Black box testing

Black box testing is a software application testing technique in which testers understand what the software product is supposed to do but are unaware of its internal code structure.

Black box testing can be used for both functional and non-functional testing at multiple levels of software tests, including unit, integration, system, and acceptance. Its primary goal is to assess the software’s functionality, identify mistakes, and guarantee that it satisfies specified requirements.

 

White box testing

White box testing, or structural or code-based testing, is the process of reviewing an application’s internal code and logic. 

Testers use code coverage metrics and path coverage strategies to ensure thorough testing of code branches and functionalities. It is effective for unit testing, integration testing, and code quality assessment.

 

Gray box testing

Gray box testing is a software application testing technique in which testers have a limited understanding of an application’s internal workings.

The principal goal of gray box testing is to combine the benefits of black box testing and white box testing to assess the software product from a user perspective and enhance its overall user acceptance. It is beneficial for integration testing, usability testing, and system testing.

black box grey box and white box penetration testing differences

Black box, Grey box and White box penetration testing differences

 

 

Application Testing Levels

Unit testing

Unit testing focuses on testing individual units or components of the software in isolation. It verifies the correctness of each unit’s behavior and functionality. Unit testing is most useful during development to detect and fix defects early in the coding phase.

Integration testing

Integration testing verifies the interactions and data flow between integrated modules or systems. It ensures that integrated components work together seamlessly. Integration testing is crucial during the integration phase of SDLC to identify interface issues and communication errors.

System testing

System testing evaluates the complete and fully integrated software product to validate its compliance with system specifications. It tests end-to-end functionality and assesses system behavior under various conditions. System testing is conducted before deployment to ensure the software meets user expectations and business requirements.

User acceptance testing

User acceptance testing (UAT) ensures that the software meets user expectations and business requirements. It involves real-world scenarios and is conducted by end-users or stakeholders.  Acceptance testing is often conducted in the final stages to ensure alignment with user expectations, business goals, and readiness for production deployment.

software application testing levels

Software application testing levels

 

Types of Software Application Testing

software application testing types

Software application testing types

Functional test

Functional testing assesses whether the software application’s functions perform according to specified requirements. It verifies individual features, input/output behavior, and functional workflows.

Some common functional test types include:

  • Compatibility testing: Verifies the software’s compatibility across different devices, operating systems, browsers, and network environments to ensure consistent performance and functionality.
  • Performance testing: Assess the software’s responsiveness, scalability, stability, and resource utilization under varying workloads to ensure optimal performance and user satisfaction.
  • Security testing: Identifies vulnerabilities, weaknesses, and potential security risks within the software to protect against unauthorized access, data breaches, and other security threats.
  • GUI testing: Focuses on verifying the graphical user interface (GUI) elements, such as buttons, menus, screens, and interactions, to ensure visual consistency and proper functionality.

 

Non-functional test

Non-functional testing focuses on aspects such as security, usability, performance, scalability, and reliability of the software. It ensures that the software meets non-functional requirements and performs well under various conditions and loads.

Some common non-functional testing types implemented to ensure robust and user-friendly software include:

  • API testing: Validates the functionality, reliability, and performance of application programming interfaces (APIs) to ensure seamless communication and data exchange between software components.
  • Usability testing: Evaluates how user-friendly and intuitive the software interface is for end-users, focusing on ease of navigation, clarity of instructions, and overall user experience.
  • Load testing: Assesses how the software performs under high volumes of user activity, determining its capacity to handle peak loads and identifying any performance bottlenecks.
  • Localization testing: Verifies the software’s adaptability to different languages, regions, and cultural conventions, ensuring it functions correctly and appropriately in various local contexts.
  • Accessibility testing: Ensures the software is usable by people with disabilities, checking compliance with accessibility standards and guidelines to provide an inclusive user experience.
  • Penetration testing: Simulates cyberattacks on the software to identify security vulnerabilities, assessing its defenses against potential threats and breaches.

 

The ‘’in-between’’ testing types

In software development, several testing types bridge the gap between functional and non-functional testing, addressing aspects of both. These “in-between” testing types include:

  • Regression testing: Checks for unintended impacts on existing functionalities after code changes or updates to ensure that new features or modifications do not introduce defects or break existing functionalities.
  • Integration testing: Examines the interactions between integrated modules or components of the software, ensuring they work together as intended and correctly communicate with each other.
  • System testing: Evaluates the complete and integrated software system to verify that it meets the specified requirements, checking overall functionality, performance, and reliability.
  • User acceptance testing: Involves end-users testing the software in real-world scenarios to confirm it meets their needs and expectations, serving as the final validation before release.

 

application testing with lqa experts

Best Practices for Application Testing with LQA

With over 8 years of experience and being the pioneering independent software QA company in Vietnam, LQA is a standout entity within the LTS Group’s ecosystem, renowned for its expertise in IT quality and security assurance. We provide a complete range of application testing services, including web application testing, application security testing, mobile application testing, application penetration testing, etc.

lqa software quality assurance awards

LQA software quality assurance awards

 

With LQA, you can have the best practices in creating and implementing diverse types of application testing tailored to your business’s requirements. We stand out with:

  • Expertise in industries: Our specialized experience, validated by awards like ISTQB, PMP, and ISO, ensures efficient and exceptional outcomes.
  • Budget efficiency: Leveraging automation testing solutions, we deliver cost-effective results, benefitting from Vietnam’s low labor costs.
  • TCoE compliance: Aligning with the Testing Center of Excellence (TCoE) framework optimizes QA processes, resources, and technologies for your project.
  • Abundant IT talent: Our diverse pool of testers covers various specialties including Mobile and web app testing, Automation (Winform, Web UI, API), Performance, Pen Test, Automotive, Embedded IoT, and Game testing.
  • Advanced technology: Leveraging cutting-edge testing devices, tools, and frameworks, our team guarantees the smooth operation of your software, delivering a flawless user experience and a competitive market advantage.
lqa software testing tools

LQA robust software testing tools

 

LQA recognizes the crucial role of software quality testing in delivering top-tier software products. Our expertise and advanced testing methods enable businesses to attain robust, dependable, and high-performing software applications.

application testing with lqa experts

Frequently Asked Questions About Application Testing

What is application testing? 

Application testing refers to the process of evaluating software applications to ensure they meet specified requirements, perform as expected, and are free from defects or issues.

 

What does an application tester do?

An application tester is responsible for designing and executing test cases, identifying bugs or defects in software applications, documenting test results, and collaborating with developers to ensure issues are resolved.

 

Why is application testing required?

Application testing is required to verify that software functions correctly, meets user expectations, operates efficiently, and is reliable. It helps identify and address bugs, errors, and performance issues early in the development lifecycle, leading to higher-quality software.

 

What is computer application testing?

Computer application testing, also known as software application testing, is the process of testing software applications to validate their functionality, performance, security, usability, and other quality attributes on computer systems.

 

How to test a software application?

Testing a software application involves various stages such as requirement analysis, test planning, test case design, test execution, and test cycle closure. It includes manual testing where testers interact with the application and automated testing using testing tools and scripts to validate its behavior under different scenarios.

 

Final Thoughts About Software Application Testing

Quality assurance through rigorous application testing processes is the keystone that ensures software products meet user expectations, function flawlessly, and remain competitive in the market.

At LQA, we understand the paramount importance of software quality testing in delivering top-notch software products. Our testing services are designed to cater to diverse testing needs, including functional testing, performance testing, usability testing, and more. By leveraging our expertise and cutting-edge testing methodologies, businesses can achieve robust, reliable, and high-performing software applications.

Investing in thorough application testing is not just a best practice; it’s a strategic imperative. If you are looking for application testing experts to optimize your testing processes and ensure top-notch software quality, do not hesitate to contact our experts at LQA. Let us partner with you on your journey to delivering exceptional software solutions that exceed expectations.

 

 

 

Automated TestingAutomated TestingAutomated TestingMobile AppMobile AppSoftware TestingSoftware TestingSoftware TestingSoftware Testing

Three common challenges in Mobile Application Testing

The booming of the smartphone has opened the door for global businesses to interact with consumers more effectively and frequently through thousands of applications. Since mobile apps became a significant channel to connect with consumers, executives of firms have spent more effort on enhancing the quality of applications. However, firms have to face many mobile application testing challenges.

According to a report of Capgemini about Quality Assurance and Testing in 2017-18, 47% of the respondents stated that they lack an appropriate testing process or method. Meanwhile, 46% of the companies surveyed don’t know which are the right tools to perform mobile testing. Shortage in testing devices is also a crucial issue that occupies 40%. 

3 Common mobile application testing challenges

1. Lack of efficient testing process

What is the effective testing process for mobile applications in such a high-competitive market like smartphone apps? There are three factors you need to consider, let’s take a look at them below:

Test Strategy

A thorough strategy for your testing project is significant. Some of the aspects that you should plan are Test methodology, Automation testing, and Test environment.

Firstly, when it comes to testing methodology, one of the most favored ones is the Agile approach. In Agile, the development process breaks into repetitive loops, and testing goes in parallel with development.

The second factor you should think about is how to set up the test environment. You can choose from setting up on real mobile devices, on simulators, or clouds. 

The final thing is automation testing. Although test automation can reduce the time and effort to perform repetitive test cases such as regression testing; some of the tests still need to be run manually. One of the efficient ways to apply automation test is when you run one test case on various devices, like in this video: [Demo video] Automation test on 10 mobile devices at the same time

Continuous Testing

Mobile applications are built and updated regularly. As a result, traditional manual testing cannot keep up with the pace of releasing new versions. Continuous testing will run automation tests regularly to get immediate feedback after new updates are released. Moreover, testing apps in parallel with the development process will decrease the risk of failing at the end of the project.

Select Test Types

For mobile application testing, you should execute both functional and non-functional tests. Functional testing includes testing the function of the apps (path testing, boundary values, data lifecycle), application lifecycle, network, and display. Non-functional testing requires testers to perform some special testing, such as: Typical Interrupts Testing, Testing for Power Consumption, Testing for Different Displays, Testing for Device Input Sensors, and Testing for Screen Orientation Change.

2. Choosing from numerous testing tools

What makes mobile testing more complicated is the complexity of mobile testing tools in the market. Each tool has different features that can test a certain type of mobile apps. Companies have to know exactly what they are looking for in the testing tool to choose the one that has appropriate features, such as:

  • Fees: Open-source tools and paid tools
  • Type of application that the tools can test: Native apps, Web, hybrid apps
  • The operation system: iOS, Android, Windows

3. Shortage in testing devices

In 2019, the shipment of smartphones around the world reached 1,375 billion units, in which Android devices accounted for 76% market share and iOS devices took 13%.  Each operating system has various versions, which means mobile apps have to run in numerous environments. This leads to obstacles in setting up mobile testing devices because the testing team cannot access all types of devices available. The solution is you can combine using different test environments such as Real Devices, Emulators / Simulators, and Clouds to perform testing. Each type has its advantages and drawbacks:

Environment

Advantages

Drawbacks

Real devices
  • Show how the app actually works
  • Can do specific testing for mobile such as Interrupt testing
  • Not all the target devices are available
Emulators
  • No need to look for rare devices
  • Simulate hardware and software
  • Time-consuming to adjust
  • No testing of mobile-specific factors (battery consumption, interrupts, etc.)
  • Not suitable for all types of testing (e.g. UI testing)
Clouds
  • Unlimited availability of devices
  • Not always suitable due to security concerns

Nevertheless, the quality assurance team cannot guarantee that if a tested application works well on a given device, it will work 100% on another device. Even though it’s from the same product family, the screen resolution, CPU, Memory, and hardware could be different.

If you want to have more advices about how to improve the efficiency of mobile application testing, you can contact us for a mobile application testing service

Automated TestingEmbedded TestingManual TestingSoftware Testing

Top 5 Mobile Testing Trends in 2021

When B2C enterprises use mobile applications to attract consumers’ engagement in e-commerce, banking, and marketing; B2B firms use them to manage the company’s operations, tracking the performance of employees, and collaboration with partners. Come with the rising frequency of mobile application usage is the demand for increasing the application quality. If you want to update the latest movement in quality assurance for mobile applications, let’s look at our top 5 mobile testing trends below.

Test Automation

One of the characteristics of mobile applications is that the developers have to release the new version frequently to adapt to the demand of users. Due to this, numerous test cases need to run repeatedly. This is where test automation became an innovative solution. In the World Quality Report conducted by Capgemini, 57% of the companies said that test automation helps to reuse the test case. Meanwhile, 65% of them stated that the test cycle time is reduced.

mobile testing trends - automation test benefit

The greater return on investment in automation not only came from benefits in cost and efficiency but also came from achieving business objectives such as time-to-market. Moreover, it seems like this year CTO concerns more about transparency and security in testing. 69% of them responded that test automation helps them to have better control and transparency of test activities; 62% of respondents think test automation reduces the overall risk.

IoT Testing

The Internet of Things (IoT) allows us to control our assets such as smart home appliances, smart cars, or smartwatches by using a mobile application. Testers need to ensure the quality, security, connectivity, and performance of the application so the interaction between mobile apps and IoT devices is not interrupted. However, executing integration testing is not easy due to IoT devices often having a cloud-based interaction layer developed by a third party. Besides that, testers also concern about the enormous number of test cases needed to run because of the diversity of IoT devices. Testing on emulators, therefore, cannot fulfill the requirement of the QA team. As a result, testing in the cloud is becoming more popular.

Although facing many obstacles, firms are finding ways to adapt to the IoT trend. Many companies consider applying Artificial Intelligence capacity to test thoroughly and also conduct more IoT-experience testing.

Impact of 5G on Mobile Testing

Compared to the previous generation, 5G network has many innovative technologies, which greatly affect how testers conduct mobile testing. When it comes to 5G connectivity, three main technologies change the game: Enhanced mobile Broadband, Ultra-reliable Low Latency Communication, and Massive Machine Type Communication (mMCT)

5G provides greater bandwidth, which means faster data rate and better user experience. With this technology, the 5G network will allow 360-degree video streaming and VR / AR experience. Consequently, testing mobile applications in a high-speed internet office will not be efficient enough. Besides, the latency of data transfer is reduced. It allows faster information receiving within far distance, which has a huge impact on the performance of mobile applications. Meanwhile, mMCT supports connecting with a large number of IoT devices using less power; which leads to changes in battery testing for mobile devices.

Agile and DevOps Approach

Agile and DevOps has become a popular method in continuous testing. They combine the know-how and skill of both testers and developers to support each other with the ultimate goal of fastening the development and deployment of applications. Agile and DevOps approach helps enterprises to find and fix defects more efficiently and release new versions more frequently.

According to the World Quality Report, the Scale Agile Framework (SAFe) and the Dynamic Systems Development Method (DSDM) among Agile methodologies are the most favored by IT firms. From 2015 to 2017, SAFe increased from 31% to 58%; meanwhile, DSDM has grown by 31%. The same report also stated that over 88% of respondents applied DevOps principles in their IT team.

Testing Environment in Cloud

Mobile users reached 1.5 billion at the end of 2020. The mobile devices will have different OS versions, screen resolutions, and data storage. It causes obstacles in mobile testing since firms are not able to buy every kind of mobile phone. As a result, testers tend to use the cloud to test real devices.

Another reason for the increase in using cloud-based testing environments is the virtualization trend in recent years. This will push the demand for cloud and virtual testing tools higher and open more opportunities for firms to provide cloud-based testing services.

Blockchain Testing

Since the booming market of blockchain technology in the IT industry, many have predicted a new and exciting field of better security, higher authenticity and decentralized operations.

Since blockchain technology is rather an immature field of the IT industry, there is more to be explored with this. To ensure a system of decentralized, cost-effective and time-saving activities, blockchain engineers have to employ and adapt to cutting-edge technology and brand new concepts, making them more prone to mistakes.

Under this circumstance, blockchain testing is now an in-demand service that requires a thorough understanding of the blockchain architecture and full test strategy planning.

Blockchain testing should include:

  • Smart Contract testing
  • API Testing
  • Block Testing
  • Functional Testing
  • Performance Testing
  • Security Testing

Big Data testing

With the world’s economy stepping into the recovery phase after the pandemic, many enterprises are trying to revamp their performance with the adoption of big data in their operation and upcoming business plan.

The most prominent approach towards their customers is to collect and min huge data volumes and diverse data types to indicate user behaviors. From these analytical research and collection, one might categorize and analyze their behaviors to find the best matching solution to approach their customers.

To enhance the efficiency of big data in multiple fields with a bigger scope, you would want to implement big data testing, which can help to make improved decisions with accurate data validations. With big data testing facilitates the consistent application of how the datasets perform, market targeting and business manifestation are further streamlined to cope with the ever-changing market.

Cybersecurity Testing

Cybersecurity has always been at the top of the IT industry’s problem with billions of dollars stolen each year. In recent years, many companies have been applying an array of measures to assure cybersecurity within their system and products.

Especially with the fear of data breaches, cybersecurity is gaining its importance in business’ systems and becoming the foremost necessity.

This situation is common across many subdomains of the IT industry, leading to a growth in security testing of from USD 6.1 billion in 2020 to USD 16.9 billion by 2025, at a Compound Annual Growth Rate (CAGR) of 22.3% during the forecast period.

This growth of security testing has brought brighter prospects to the world’s cybersecurity. With the stronger and more effective security measures, cyberattacks, data breaches, malware, etc. will be reduced to their smallest. With this new implementation, digital transformation will be more successful than ever.

Machine Learning and Artificial Intelligence testing

Artificial Intelligence in general and Machine Learning in particular will be the omnipresent technology in the next few years.

As the need for virtual assistants, autonomous cars, etc. are more rival than ever, AI and ML will make a bigger step in the IT industry with top investment priority of CIOs in 2025. As predicted in 2020, the AI and ML market will grow to be about $6-7 billion in America. Technology for behavior prediction, speech recognition is beginning to be adopted and implemented in our daily lives, and it seems to be never enough.

The booming development of AI and ML demands better technology, bigger implementation and breakthrough advances, hence the need for a flawless operation of AI and ML. To achieve this, the most effective and viable solution is AI and ML testing. Since the AI and ML themselves are pretty new in the market, testing for them is quite challenging, yet exciting.

Scriptless automation testing

With Agile and DevOps are trending, requiring developers and testers “low-code” and “no-code” approach. With this approach, developers and testers spend less effort on programming and writing codes, making the software/delivery have a faster time to market.

Although automation testing is on the rise, many testers are struggling with the high-maintenance, script-based testing approach, not to mention the dragging training time. To make it easier and faster for testers to execute tests, many have followed scriptless automation testing.

Since it is scriptless, testers have to utilize multiple tools to acquire desirable test results.

All in all, the trends in 2021 made the QA team face many challenges. How to perform mobile testing with the right strategy remains a hard question. Knowing this constant problem, Lotus QA provides a free consultant for mobile application testing to help you enhance the quality of your product.

BlogBlogBlogBlogEmbedded TestingManual Testing

What should be checked to assure for mobile testing flow

In a mobile testing flow, there are lots of factors having influence on quality of products. So let’s find it down.

1. Mobile testing flow-App installing

・ Can the app be installed on your device?

・ What happens when the app is installed (the device runs out of battery, loses network, ..)

2. Mobile testing flow-Device memory

mobile-testing-flow-device-memory

・ App takes up a lot of device memory?

・ What happens if you install the app when full memory?

3. Mobile testing flow-Display

mobile-testing-flow-mobile-display

・ Check vertical and horizontal screen

・ Check actions, zoom in/out (all actions)

・ Check the interface is not cut

・ Check to see if objects overlap

・ Check to see the loading icon appears where needed or not

・ Characters should not move away from certain screens/ areas

・ Check to enable or disable images / icons and buttons

・ Check the screen title

・ Check the message title, description description, label (textbox title) match or not

・ Check if the focus position is set to the first field or the first control when the screen loads.

・ Display font (color, size …)

・ Scroll effects, smooth page transition

・ The data saved when the window is closed, …

4. Mobile testing flow-Function

mobile-testing-flow-function

・ Ensure the functions included in the design work well

・ Test out-of-stream functions

・ Click, swipe, otuch, scroll … fast to detect errors

・ Redirects from links in apps or social links (g・, facebook …)

・ Get data from the server while in background running, screen lock or listen

・ Check data synchronization when logging in to multiple devices (desktop, tablet, mobile)

・ Test camera if available in the application, (take photos, store …)

・ Content and images display well when sharing on Google, facebook …or phones with facebook and applications installed, and without those applications.

・ Notification from apps like updates, reminders …

・ On / Off sound occur error

・ Time on app, server, ..

・ Change the time on the Device

・ Shutdown network suddenly while using the app

・ Rotate the screen while using the app

・ Check app vibration if available

・ Check if using the app for a long time may cause heat

・ Check other actions interfering while using the app: making calls, texting, alarms, …

・ Attention to test for System Crash / Force Close cases

5. Mobile testing flow-Update new version

・ Check if an updated version available while using the app

・ Check if data loss when updating to a new version

For more information about Testing services, please contact us

———————————————————–

Lotus Quality Assurance (LQA)

Tel: (+84) 24-6660-7474

Email: [email protected]

Website: https://www.lotus-qa.com/

Mobile application testing-Mobile testing tutorial 2

Mobile application testing is 1 type of mobile testing. For more information, refer Mobile testing in series of Mobile testing tutorial

1. Mobile application categories

For mobile applications, it can be classified into three categories:

・Type 1: Native apps – apps written specifically for a platform like iOS, Android, or Windows Phone in their respective languages.

・Type 2: Web application (Web App) – web-based application, mobile device users will use different browsers such as Chrome, Firefox, Safari to access the web server to use, such as m.facebook.com.

・Type 3: Hybrid App – a combination of native application and web application, can be run both offline and online and often uses web-making techniques such as HTML5, CSS.

mobile-venn-mobile-testing

In view of this

・ Native applications can only run on a certain operating system while mobile web applications can run on all mobile browsers that support HTML and Javascript.

・The native application is written in platforms like the SDK while the mobile web application is written with web technologies like HTML, CSS, ASP.NET, JAVA, and PHP.

・ For a native application, it is necessary to install but with mobile web applications, there is no need to install.

・ The original application can be updated from the app store while the mobile web application is updated centrally.

・ The original application may work without an Internet connection, but for mobile web applications, an Internet connection is always required.

・ Native apps work faster when compared to mobile web apps.

2. Some special test cases for testing mobile applications:

・Battery consumption: It is important to track the battery drain when running applications on mobile devices.

・Application running speed: Track time response time on different devices with different memory capacities, different network speeds …

・Memory requirement: When downloading and installing an app, running the app ..

・Application’s function checking: To ensure the application does not crash when losing network connectivity or other external impacts.

3. Some automated testing tools for mobile applications

3.1. IOS has popular automatic testing tools like:

app-testing-tool-fonemonkey

FoneMonkey application testing tool

app-testing-tool-frank

Frank application testing tool

app-testing-tool-qtp

QTP application testing tool

3.2. Android operating system has some automated testing tools such as:

Robotium application testing tool

app-testing-tool-eggplant

Eggplant application testing tool (No free source)

For more information about testing services, please refer to Testing services


Lotus Quality Assurance (LQA)

Tel: (+84) 24-6660-7474
Email: [email protected]
Website: https://www.lotus-qa.com/