Home / Companies / Sauce Labs / Blog / August 2016

August 2016 Summaries

10 posts from Sauce Labs

Filter
Month: Year:
Post Summaries Back to Blog
Thread.Sleep(n)` means blocking the current thread for the number of time slices that occur within ā€œnā€ milliseconds. This can lead to unexpected delays due to variations in OS and processor performance, as well as resource usage by the thread. Using `Thread.Sleep(0)` may not be efficient or effective, as it tells the processor to relinquish its resources without necessarily improving scheduling. Instead of relying on `Thread.Sleep`, a better approach is to check for the desired state of an element after a spinner has disappeared, rather than waiting for the spinner to go off. This can be achieved using Selenium's `WebDriverWait` and condition-based waits, or frameworks like webdriver.io that provide rich APIs for handling asynchronous scenarios. By adopting this approach, tests become more stable and reliable, while also making better use of resources and improving efficiency.
Aug 30, 2016 512 words in the original blog post.
Here's a neutral and interesting summary of the text in one paragraph: Building a test automation strategy involves more than just writing and running tests, but rather establishing a comprehensive approach that considers how the environment works, how tests are run, and how the test suite is maintained. Traditional QA processes, often associated with waterfall methodologies, can be limiting and inefficient, whereas modern QA teams need to adopt a holistic view of the delivery chain, incorporating DevOps responsibilities and skills. To build a successful test automation strategy, it's essential to define key elements such as testing portfolio, design patterns, and process flows, while also addressing infrastructure challenges that must be solved before test automation can begin. By adopting a strategic approach, QA teams can become first-class citizens in the organization, leveraging their unique perspective to drive modernization of development operations.
Aug 23, 2016 885 words in the original blog post.
There are several ways to get HTTP status codes in Selenium, including using proxies and headless browsers, or leveraging WebDriver's built-in support for certain tools like Fiddler and BrowserMob. Alternatively, you can use a common hack within WebDriver to grab the error code displayed by the actual browser. The choice of method depends on your specific testing needs and existing setup. Parsing response data from the page is a simple way to extend Selenium without setting up new test frameworks or proxies. However, it may miss certain errors, such as 3xx redirects. Using GhostDriver with PhantomJS can handle status code returns and keep everything in CI, but you may already have testing proxies set up that offer more features. Ultimately, the best approach depends on your specific situation and priorities.
Aug 18, 2016 538 words in the original blog post.
In order to hire a mobile QA manager, companies should ask candidates about their experience in managing complex testing environments and identifying the biggest challenges such as Android device fragmentation and screen size fragmentation. A good QA manager should be able to combine manual and automated testing to save time and money, and automate test cases that are frequent, easy to automate, predictable, and tedious. They should also have knowledge of mobile test automation frameworks like UI Automation, Robotium, Calabash, Appium, and Espresso, as well as their pros and cons. A good test case is defined by a short but clear description of what is expected from the app, and bad test cases are those that are too descriptive or try to test multiple functionalities at once. When deciding on mobile devices, OS, and OS versions for testing, candidates should consider global sources, local market research, app download statistics, and device trends. They should also be familiar with Continuous Integration in the development process and know how to implement it. As a first QA manager joining a company, they would start by asking questions about the current testing process, outlining a proper testing plan and strategy, and introducing test management tools and tracking tools. If working on a project with limited resources, candidates would aim to set up critical feature tests or known issue tests, and do smoke testing to reveal simple failures.
Aug 18, 2016 1,339 words in the original blog post.
There are several challenges in mobile app testing due to device fragmentation, screen size and OS fragmentation, manufacturer fragmentation, localization issues, users mobility, different application types, and the need for multiple testing tools. Device fragmentation alone poses a significant challenge with over 24,000 different Android devices having varying sizes, shapes, and hardware. Screen size and OS fragmentation add complexity, while manufacturer fragmentation makes it difficult to test across various manufacturers' devices. Localization issues arise from language changes and interactions with the device, while users' mobility requires apps to work offline and with weak signals. Additionally, mobile apps can be built in different ways, requiring varied testing approaches, and multiple tools are needed for effective testing, making agile development crucial to adapt quickly to changes and user requirements.
Aug 17, 2016 832 words in the original blog post.
Getting buy-in for test automation is not as easy as writing and running a Selenium script. It involves getting stakeholders on board with the need and high-level direction for test automation, building a team, establishing a strategy, and picking the right tools. The need for test automation is often driven by developers who know what's possible, but convincing decision-makers can be challenging due to budget constraints, lack of control over continuous integration and test infrastructure, and limited visibility into technical debt. To demonstrate the added value of QA to business teams, it's essential to educate them on the cost of bugs, create visibility into existing technical debt, and develop a strategy for reducing and avoiding technical debt in future release schedules. Encouraging developers to start implementing QA standards requires taking ownership of quality, developing a mindset that testing is an integral part of development, and demonstrating the return on investment (ROI) of continuous testing. Building technology alignment, providing deterministic results, and focusing on ways to eliminate flaky tests can also help gain buy-in from developers. Ultimately, persistence and a willingness to adapt to each team's unique needs are crucial for success.
Aug 16, 2016 1,093 words in the original blog post.
Anshul Sharma, a Senior QA Engineer at Emmi Solutions, shared her experience of transitioning from an in-house Selenium Grid to the Cloud, expanding test coverage and adopting a full continuous integration workflow, during a recent webinar titled "Moving From a Selenium Grid to the Cloud - A Real Life Story". The presentation also showcased the benefits of using the Sauce Labs automated testing platform.
Aug 15, 2016 121 words in the original blog post.
The Selenium testing framework originated in 2004 as a proprietary tool developed by Jason Huggins at ThoughtWorks. It was later open-sourced and became an important part of automated testing for DevOps-inspired workflows. The tool has since evolved significantly, with the introduction of WebDriver in 2011, which merged with Selenium to form one web testing tool. Today, Selenium is well-suited for shift-left testing and continues to grow through its rich ecosystem of plugins and integrations. The demand for efficient automated testing will likely shape its development going forward, as companies seek to test and deliver software faster than ever before.
Aug 11, 2016 1,024 words in the original blog post.
The growing number of mobile apps has led to an exponential increase in the need for mobile application testing, which is crucial for ensuring app quality and success. With the vast array of different mobile devices available, testing becomes even more complex, requiring consideration of various factors such as screen sizes, OS versions, and network conditions. Mobile application testing involves two main approaches: manual testing, which focuses on user-centric evaluation and usability, and automated testing, which aims to automate a significant portion of testing cases, allowing for faster and more efficient testing. By delivering better software through mobile application testing, developers can ensure their app's success by meeting user requirements and expectations, growing their user base, and maintaining high quality over time.
Aug 11, 2016 578 words in the original blog post.
The following tools are recommended for mobile testers to know, each with its own set of features and benefits. Jira is a software development tool that helps teams plan, track, and release products, as well as report performance. GitHub is a web-based Git repository hosting service that offers source code management functionality and collaboration features. Jenkins provides continuous integration services for software development and supports multiple programming languages. Selenium is an open-source portable testing framework that can be used to automate web-based administration tasks and browser compatibility testing. Appium is an open-source cross-platform test automation framework designed for native, hybrid, and mobile web apps. Espresso is an open-source mobile testing automation framework developed by Google for native Android apps. Robotium is an open-source mobile testing automation framework for native and hybrid Android apps. IntelliJ IDEA is a Java integrated development environment that provides coding assistance, developers' ergonomics, and built-in developer tools. Docker is an open-source project that automates the deployment of applications inside software containers. Slack is a cloud-based team collaboration tool that offers channels, private channels, and direct messages. TestObject is a leading mobile testing provider offering a comprehensive cloud-based platform for automated and manual testing.
Aug 04, 2016 1,322 words in the original blog post.