March 2017 Summaries
7 posts from Sauce Labs
Filter
Month:
Year:
Post Summaries
Back to Blog
Simulators are tools used in mobile testing to reduce the size of the feedback loop between programming and first exploration, allowing developers to test their code changes frequently. They provide a realistic environment for testing user interactions, such as entering data, clicking buttons, and navigating around, but lack hardware resources like memory and CPU cycles, battery levels, and touch actions. Emulators offer more advanced capabilities, simulating entire devices with hardware resources, but require a stable internet connection to function. Real mobile devices provide the most accurate testing environment, allowing for testing of real-world scenarios, such as device limitations and user interactions, but are only suitable for companies that need to support a limited number of devices and maintain their own test lab. A combination of simulators, emulators, and real devices is often the best approach for mobile app testing.
Mar 30, 2017
1,023 words in the original blog post.
The traditional mobile QA methodology is no longer suitable for the fast-paced digital transformation era, where continuous integration and continuous delivery are becoming increasingly important. The waterfall process, which involves defining requirements, software development, testing, and final release, cannot keep up with the rapid pace of change in user needs and requirements. New trends in mobile app development and testing have led to a shift towards agile methodologies, which enable close collaboration between development, testing, and QA teams to deliver updates, bug fixes, and new features quickly. Continuous integration and continuous delivery processes are also becoming more prevalent, with test automation playing a key role in enabling parallelization and short release cycles. As quality becomes increasingly important for user retention and growth, the budget allocated for testing and QA is rising, and open source solutions are being adopted to adapt quickly to changing environments. Mobile cloud services are also emerging as a result of this agile environment, providing access to software and services anytime, from anywhere.
Mar 28, 2017
1,036 words in the original blog post.
Simulated testing offers a reasonably accurate virtual representation of the hardware's actual operation, including such (at least partially) hardware-dependent features as threading, stack operation, and caches. This allows it to uncover many potential low-level problems involving timing, conflicting priorities, and other logical bottlenecks. On the other hand, a simulator is more like a functional mockup, allowing you to test the user interface and high-level functionality, but giving you very little information about how the device is likely to interact with the real device. Real devices are used to test software that will run on actual hardware, such as mobile phones or tablets, and can uncover issues related to processor and memory ICs, physical environment, operating conditions, user experience, and more. Emulators faithfully duplicate actual hardware, but testing on a real device is still necessary to cover all aspects of the software's interaction with hardware features. The balance between simulated, emulator, and real-device testing will vary depending on the nature of your application, but it's essential for comprehensive software testing.
Mar 14, 2017
1,281 words in the original blog post.
The Appium team has developed a new graphical frontend for running an Appium server and starting sessions to inspect applications, called "Appium Desktop". This app provides a user-friendly interface for users to run Inspector sessions on Sauce Labs and TestObject, allowing them to remotely drive their apps using cloud support. The initial beta phase of Appium Desktop is now available for download from the GitHub release page, with a webinar scheduled for March 29th to discuss its features and capabilities.
Mar 13, 2017
222 words in the original blog post.
When it comes to continuous delivery for mobile apps, several key differences must be considered due to the unique characteristics of mobile devices and environments. Mobile apps run on a wide range of hardware and software environments, with only two operating systems to worry about, and display resolutions vary widely, making testing more complex. Automated deployment is also crucial as installation and updates are typically handled automatically by users or admins. Additionally, multiple code branches may be necessary due to the variety of app types, such as native, web-based, or hybrid apps. An agile development framework and automated deployment process are also essential for mobile continuous delivery pipelines.
Mar 09, 2017
836 words in the original blog post.
The concept of Engineering Productivity (EP) is gaining traction in the software development industry. EP aims to increase productivity while maintaining high quality standards by providing tools, practices, and support to product development teams. The shift from a traditional QA team to an EP team involves establishing four major goals: providing easily maintainable and extensible frameworks for testing, enabling automatic early detection of failures, preventing failures from moving downstream, and accommodating these efforts without impacting engineers' time. An EP team typically consists of Test Engineers, Software Engineers in Test, CI/DevOps Engineers, and Engineers who work together to achieve these goals. The ultimate goal is to become invisible, with each idea becoming second nature to engineers as they adopt a culture of delivering high-quality products with minimal impact on their day-to-day work.
Mar 07, 2017
943 words in the original blog post.
Mobile application security testing is crucial to protect users' data and prevent potential breaches. It involves identifying vulnerabilities in the app's software that may cause data loss or unauthorized access. The challenges of mobile application security testing include integrations with other apps, unsecured communications, security breaches that allow malware installation, utilization of different authentication procedures, test hidden parts of the application, and security requirements when building a mobile app. To overcome these challenges, it is essential to follow six security requirements: confidentiality, integrity, authentication, authorization, availability, and non-repudiation. By prioritizing security testing and following these guidelines, developers can reduce risk and create more secure mobile apps that protect user data.
Mar 02, 2017
1,127 words in the original blog post.