March 2023 Summaries
20 posts from Sauce Labs
Filter
Month:
Year:
Post Summaries
Back to Blog
The importance of implementing security testing for software applications cannot be overstated in today's digital landscape where threats and data breaches are increasingly common. Security testing helps to identify and address security risks before they can be exploited, protecting sensitive data and maintaining the integrity of the software. By incorporating security testing into the software development life cycle, organizations can ensure that their applications meet the highest standards of security and are better equipped to withstand potential attacks. With 1,802 total compromises of data in 2022 affecting 422 million people, it's clear that proactive measures such as security testing are crucial for protecting sensitive information and maintaining reputation. Effective security testing involves a range of techniques and tools, including penetration testing, vulnerability scanning, and code analysis, and should be conducted early in the development process to identify vulnerabilities before they can be exploited by attackers.
Mar 31, 2023
1,472 words in the original blog post.
March 2023 Product Updates & News`
The latest product updates from Sauce Labs include Appium 2.0 on virtual devices, error and crash reporting on real devices, and much more exciting news to share. The company has now made its Real Device Cloud available with features such as automatic error and crash collection, allowing users to resolve errors and crashes faster. Additionally, Sauce Insights is now available in the Real Device Cloud, enabling users to assess their test strategy by viewing results, trends, and coverage for both virtual machines and real devices. The Appium 2.0 beta is also supported on both real devices and Android emulators and iOS simulators, with a migration guide and blog available for those looking to get started. Furthermore, the company has introduced new features such as live test naming, automated session stopping, and support for iOS 16.2 simulator versions. Sauce Labs has also launched fresh content including a new podcast and YouTube series on testing strategies and tips, as well as a blog with helpful resources and how-to's. The company is seeking feedback from users to improve its features through its UX panel, and invites those interested to fill out a survey. Overall, these updates aim to enhance the overall user experience and provide more tools for developers to test their applications.
Mar 28, 2023
414 words in the original blog post.
Performance testing is a crucial aspect of non-functional testing that involves using workflows in parallel to test a system's infrastructure to ensure it can handle multiple users simultaneously, providing a successful experience for many users at once. Unlike functional testing, which focuses on individual user interactions, performance testing evaluates the system's capacity to handle load and its ability to scale with increased traffic. The type of performance testing used depends on the specific needs of the business, including stress/capacity testing, load testing, soak/endurance testing, volume testing, scalability testing, spike testing, availability and resilience testing, failover testing, disaster recovery, and others. Understanding how these different types of performance tests intersect with each other and with other departments is critical to effective performance testing, as it requires collaboration between teams and stakeholders to manage risk and improve the overall quality of the product.
Mar 24, 2023
1,411 words in the original blog post.
Gradle 7 introduces the use of centralized repository declarations in settings.gradle over project- or module-level build.gradle declarations, suggesting a preference for settings repositories. When creating a new Android project with Android Studio's project creation wizard, users encounter an error due to mixed repository declarations between project and settings levels. To resolve this, developers can declare their maven repositories in the project level build.gradle file or in the settings.gradle file, enforcing a policy of preferring settings repositories over project repositories. By using the RepositoriesMode API, developers can set modes such as FAIL_ON_PROJECT_REPOS to prevent repository declarations directly in projects and instead direct them to the settings.gradle file. This change aims to improve dependency resolution management for Android projects.
Mar 23, 2023
604 words in the original blog post.
Platform engineering is a growing field focused on building and maintaining the infrastructure that supports the development and deployment of software applications. It can accelerate the delivery and frequency at which business value can be produced by enabling teams to build and deploy applications more quickly and with low friction. Platform engineering is an emerging technological discipline that focuses on the design, development, and maintenance of the underlying infrastructure that supports the development and deployment of software applications. A well-designed platform provides a foundation for building and deploying software applications that are stable, scalable, and flexible, which can help improve the long-term viability and maintainability of applications. Platform engineering enables teams to build and deploy applications more quickly through the use of curated tools, capabilities, and processes, which can significantly speed up the development and deployment process. Moreover, platform engineering helps organizations to take advantage of cloud computing and microservices architectures, which can help improve scalability, reliability, and cost efficiency. It also ensures that applications are secure and includes built-in security measures and processes to protect against threats such as data breaches or Common Vulnerabilities and Exposures (CVE) attacks. A platform engineering team is responsible for designing, building, and maintaining the underlying technology infrastructure that supports the development and deployment of software applications, often through the use of cloud computing. Platform engineers work on designing and implementing core platform components, creating tools and frameworks to support the development, testing, and deployment of applications, ensuring that the platform is reliable, scalable, and secure, and maintaining and updating the platform. While platform engineering and DevOps are closely related, there are distinct differences between the two disciplines: Platform engineering focuses on building and maintaining the technical infrastructure that supports the development and deployment of software applications, whereas DevOps focuses on improving collaboration and communication between development and operations teams to enable faster and more reliable software delivery. Many organizations adopt both platform engineering and DevOps practices, as they can complement one another and work together to improve the overall efficiency and effectiveness of the software development process. Platform engineers use a range of tools, including cloud computing platforms, containerization and orchestration tools, configuration management tools, monitoring and logging tools, and collaboration and communication tools, to support the development, deployment, and maintenance of their platforms.
Mar 22, 2023
1,217 words in the original blog post.
Observability is a critical concept in Site Reliability Engineering as it provides visibility into how systems function, enabling developers and SREs to identify potential issues before they become bigger problems. With observability, teams can collect data from multiple sources such as logs, metrics, and traces to gain a comprehensive view of the system's performance. This insight allows SREs to prioritize tasks, avoid burnout, increase customer satisfaction, and respond quickly to issues. Observability is distinct from monitoring, which detects problems but doesn't provide a deeper understanding of their causes. Achieving observability requires collecting different types of data, such as logs, metrics, and traces, using tools like logging, tracing, and metrics. SREs can use these tools to measure system performance, identify potential issues, and respond proactively. By incorporating best practices like setting goals, seeking a thorough understanding of the system, monitoring data flow, collecting data from multiple components, analyzing real-time data, responding promptly to issues, and choosing the right tool, teams can achieve observability and improve their site reliability engineering practices.
Mar 22, 2023
1,184 words in the original blog post.
We're excited that Sauce Labs' new fellowship program is in full swing, introducing five fellows who are working hard to improve and open source Elemental Selenium. Danielle Madry, one of the fellows, is a proud mother and an avid web and app developer from North Carolina who joined Career Karma's community in 2019. She was motivated to apply for the fellowship program due to the opportunity to learn while building projects in a supportive environment. Danielle's goals for the fellowship include expanding her knowledge and skills, especially in open source development best practices, which she finds incredibly rewarding through hands-on experience. The fellowship program aims to foster diversity in the open source community by providing paid training for five people over six months.
Mar 21, 2023
571 words in the original blog post.
Superapps have revolutionized mobile app development by combining multiple standalone apps into a single powerful app that allows users to accomplish multiple tasks in one place. With users spending more than three-quarters of their daily lives using apps, superapps provide a convenient and efficient way for users to modularize their workflows and tasks. They offer numerous benefits for both users and businesses, including increased user engagement and loyalty, greater efficiency and convenience, enhanced visibility and reach, and greater potential for monetization. Superapps work by integrating with various services and platforms, providing a level of functionality that no other app can match. They are built on a composable platform that allows them to draw on the features and functions of other apps, making it easy for users to find the right app for the job and combining the best features of different apps into one cohesive experience.
Mar 21, 2023
1,226 words in the original blog post.
The five fellows working hard to improve and open source Elemental Selenium include Django Skorupa, who has a background in industrial design and is now using his skills in user experience, with the goal of transitioning into a full-time tech position. Django has been involved in open-source since graduating and has gained hands-on experience through the Sauce Labs fellowship program, including setting up his own developer environment and building a presence on GitHub. He also contributes to the Sustain group in Open Collective and hosts a podcast focused on open source design.
Mar 17, 2023
570 words in the original blog post.
Automated testing is crucial for building a great website or mobile app, as it helps ensure that software applications are safe and reliable. With digital immunity, organizations can protect themselves from cyberattacks and maintain business operations. A digital immune system is a set of technologies and processes that help an organization identify and respond to threats promptly and effectively. As the world becomes increasingly more connected and reliant on digital systems, the need for digital immunity grows. Software development teams play a key role in protecting their organization's digital immune system by creating a robust defense strategy. To achieve a healthy digital immune system, organizations can automate code changes, increase code coverage, leverage APIs, implement automated security testing, and use continuous performance testing. Automated testing solutions like Sauce Labs can help streamline security and quality assurance processes, increasing the speed and accuracy of software releases and providing tangible data to inform future development decisions.
Mar 17, 2023
1,049 words in the original blog post.
We're rekindling the conversation between Sauce Labs and the broader test automation community, aiming to create a thriving space for knowledge sharing, collaboration, and mutual growth. Our Community team is working to reconnect with industry experts, including Selenium contributors, and foster diversity in open source initiatives like Elemental Selenium. We're launching new shows, streams, and podcasts to bring together industry leaders, share best practices, and explore the latest trends in test automation and software development. Join our community blog, Twitch streams, and upcoming events to engage with fellow finders and fixers, share your thoughts, and help shape the future of testing.
Mar 17, 2023
930 words in the original blog post.
CircleCI and GitHub Actions offer pre-built containers for testing purposes, while GitLab CI/CD requires downloading the latest tools, which can add an extra step to the YAML configuration file. CircleCI has a lower price point but less functionality included in the price compared to GitHub Actions and GitLab CI/CD. GitHub Actions is the least mature of the three options discussed here and only supports GitHub repositories. GitLab CI/CD offers a free self-hosted option, but its per-user pricing makes it the most expensive option if you want to use it with full enterprise functionality. CircleCI is arguably the best option overall due to its purpose-built focus on CI/CD pipelines, while GitLab and GitHub may be suitable for organizations that aim to simplify their support structures by utilizing fewer vendors.
Mar 16, 2023
1,270 words in the original blog post.
The TestFairy SDK can be integrated with Appium scripts to enable mobile beta testing solutions for developers and SDETs. The integration is based on the principle that Appium can start Android services by constructing intents over adb, which can hold extra arguments for services to interpret. A simple service is created to parse incoming intent data to decide which TestFairy SDK method to invoke. The service reads the intent, invokes the TestFairy SDK, and stops itself once the work is done without interrupting any running activities. To integrate with Appium scripts, developers need to copy the "Appium calls TestFairy" file into their Android app project, add a service declaration to the manifest, and update their Appium script with helpers for invocation of TestFairy methods such as `begin()`, `stop()`, and `addEvent()`. The TestFairyService parses the bundled Intent extra and invokes the corresponding TestFairy SDK method based on the received arguments. Once the call is done, the service stops to conserve resources.
Mar 16, 2023
833 words in the original blog post.
Many streaming companies use Player SDKs to protect their content from illegal activities, which often have built-in protections such as detecting root/jailbreak, repackaging, code injection, and screen recording tools. However, these SDKs can be challenging to test on devices where screen recording or screen grabbing is enabled, requiring the creation of a separate QA/TEST build target with lowered security restrictions. To overcome this issue, streaming companies can create new builds targeting lower-security settings in their Player SDKs, which allows them to bypass screenshot detection and view protected content on Android devices. By using these workarounds, streaming companies can test their DRM protection efficiently and thoroughly, reducing the risk of bugs or issues that may arise on specific device and OS combinations.
Mar 15, 2023
815 words in the original blog post.
Janackeh Blackwell is a creative community builder and software developer who joined Sauce Labs as a Fellow to improve and open source Elemental Selenium. She transitioned from a career in insurance and mortgage to tech after completing two full-stack bootcamps, including one at General Assembly. As the founder of Black Tech Denver, an underrepresented communities networking incubator for tech, Janackeh is interested in the fellowship program's emphasis on mentorship and open source work. She has enjoyed learning from mentors and fellow cohort members, particularly James Tacker, Marija Stupar, and Rachel Andre, and looks forward to contributing to open-source projects and building something the team can be proud of after the fellowship ends.
Mar 10, 2023
531 words in the original blog post.
CSS breakpoints and media query breakpoints are used to create responsive designs that adapt to different viewport sizes. Breakpoints are the steps where a website's layout snaps to match a new viewport size, and they're used to reflow content, conditionally reveal UI elements, and adapt to alternative rendering modes. Most sites use several key breakpoints to switch between major layouts, which are normally correlated with mobile, tablet, and desktop device families. The Bootstrap framework uses breakpoints such as 576px, 768px, 992px, and 1200px, while the Semantic UI framework adopts larger layouts earlier than either Bootstrap or Tailwind. To add a breakpoint to your CSS styles using media queries, you can use conditions like viewport width, orientation, aspect ratio, and user's preferred color scheme. You can also nest styles within media queries and adjust their specificity by positioning them after default styles or using more specific selectors. However, browser compatibility issues may arise when using newer components like advanced level 4 selectors, so thorough testing is recommended to ensure consistent behavior in all major browsers. Additionally, overlapping breakpoint ranges can cause buggy styling, so it's essential to use a consistent approach across all site's breakpoint ranges. When working with media query conditions, using px units creates the most predictable results, and em and rem units can behave differently due to their relative nature. By mastering CSS breakpoints and media queries, you can create adaptive websites that provide a comfortable browsing experience for visitors from any device.
Mar 09, 2023
1,922 words in the original blog post.
Shift-left faster testing with Linux VMs` is a strategy adopted by development teams to adopt shift-left testing, which involves testing earlier in the development cycle. To implement this strategy, using Linux VMs can provide a secure and robust environment without significant costs. This approach has gained popularity, as revealed by the 2020 Stack Overflow Developer Survey, where 55% of professional developers use Linux. Sauce Labs offers Linux VMs that are lite and scalable for shift-left testing, allowing customers to test in headless mode. The company is currently running a Linux Beta until April 1, 2023, and invites customers to enroll and provide feedback. To start testing with the Linux Beta, users need to submit a signup form, which will be processed by Sauce Labs, and ensure their platform name is set to "Linux Beta". Additionally, users can test in headless mode using the `headless` arg built into webdriver options or through Sauce Connect tunnels if required.
Mar 09, 2023
466 words in the original blog post.
The Selenium wait commands can help improve automated test scripts by giving the DOM time to load HTML elements or pages, preventing tests from crashing easily. The three main wait commands are implicit, explicit, and fluent waits. Implicit waits pause for a specified amount of time to allow the DOM to load, while explicit waits wait until specific conditions are met in the DOM before throwing an exception. Fluent waits are similar to explicit waits but don't wait the maximum time specified and instead pause until the element is discoverable in the DOM. Using these wait commands can help improve test performance and reliability by preventing tests from crashing due to timeouts or element exceptions.
Mar 08, 2023
1,826 words in the original blog post.
The Sauce Labs fellowship program is a new initiative aimed at fostering diversity and open source community involvement. The program provides paid training for five individuals over six months to gain knowledge and skills in technology, with a focus on improving the open source project Elemental Selenium. One of the fellows, Esther Cotton, has shared her experience of joining the program, having previously completed bootcamps in web development, cybersecurity, and cloud computing, and attending virtual tech conferences and job fairs. Despite initial doubts due to imposter syndrome, Esther was accepted into the fellowship program and is now enjoying the opportunity to learn and grow with a supportive team and mentors. The fellowship program is part of Sauce Labs' efforts to promote diversity and inclusivity in the open source community.
Mar 07, 2023
493 words in the original blog post.
The Selenium Grid allows users to extend their testing capabilities by automatically sending overflow or different tests to Sauce Labs, a cloud-based vendor. This feature, known as the Relay Node, enables users to scale their testing while maintaining control over their existing Grid infrastructure. With the Relay Node, users can route tests to another Grid, network, or cloud vendor like Sauce Labs, making it easier to manage test execution and reduce maintenance overhead. The Relay Node also supports mobile testing with Appium, further simplifying the process of managing test infrastructure. By leveraging the Relay Node, users can build a flexible and evolving test grid that adapts to their changing needs, reducing costs and increasing efficiency.
Mar 06, 2023
1,289 words in the original blog post.