Nayan Patel

Nayan Patel's Posts

Sr. Quality Analyst

Cross-Browser Compatibility: Why it matters and how to test for it?

Cross-browser testing means to ensure these components function seamlessly across all targeted browser versions. You can use it to ensure HTML, JavaScript, Applets, AJAX requests, Flash, and web design elements all look and behave as intended on every individual browser type. The overarching goal of cross-browser testing is to provide uniformity by enabling testers to detect bugs that might prevent a site from displaying or functioning properly across various screen dimensions and browsers.

Why Is Cross-Browser Testing Important?

Although it’s one of the biggest time-grabbers for QA and development teams, cross-browser testing is essential for delivering the best experience possible to users. Browser vendors follow Open Web Standards, but they have their own interpretations of it. Since they each render HTML, CSS, and JavaScript in unique ways, thoroughly debugging your website’s source code is not enough to ensure that your website will look and behave as intended on different browsers (or different versions of a single browser). So it falls to web developers to abstract browser differences. Cross browser testing helps with that by pinpointing browser-specific compatibility errors so you can debug them quickly. It helps ensure that you’re not alienating a significant part of your target audience–simply because your website does not work on their browser-OS.

Which types of issues facing in cross-browser testing?

  1. Different JavaScript implementation
  2. Missing CSS resets
  3. Font size and image orientation mismatch
  4. No support for HTML5
  5. Inconsistent page alignment
  6. Layout incompatibility with browser
  7. Mismatches in frameworks or library versions

What Measures Are Involved in Cross-Browser Testing?

Compatibility testing includes everything, but you may not always have the time for that. To do it right, product teams constrain their testing with a test specification document (test specs) which outlines broad essentials—a list of features to test, what browsers/versions/ platforms to test on in order to meet the compatibility benchmark, test scenarios, timelines, and budget.You can categorise the features that will undergo testing like this:

  1. Base Functionality: To ensure that basic functionality works on most browser-OS combinations. For example, you could be testing to verify that:
  2. All dialogs boxes and menus are working as intended
  3. All form fields accept inputs after validating them correctly
  4. Website handles first-party cookies (and features like personalisation that are dependent on them) correctly seamless touch input for mobiles or tablets.
  5. Design: This ensures that the website’s appearance—fonts, images, and layout—matches the specifications shared by the Design team.
  6. Accessibility: Accounts for compliance with Web Content Accessibility Guidelines (WCAG) to enable differently-abled users to access the website.
  7. Responsiveness: Verifies that design is fluid and fits different screen sizes/orientations.
October 01, 20212 minutesNayan PatelNayan Patel
What is Agile Testing Methodology & How it Works?

Agile testing is a software testing process that follows the principles of agile software development. Agile testing methodology aligns with iterative Development Methodology in which requirements develop gradually from customers and testing teams. The development is aligned with customer requirements.

The agile testing process is a continuous process rather than being sequential. The testing begins at the start of the project and there is ongoing integration between testing and development. The common objective of agile development and testing is to achieve high product quality.

Agile Testing Methods

Behavior Driven Development

Behavior Driven Development (BDD) improves communication amongst project stakeholders so that all members correctly understand each feature before the development process starts. There is continuous example-based communication between developers, testers, and business analysts.

Acceptance Test Driven Development

ATDD focuses on involving team members with different perspectives such as the customer, developer, and tester. Three Amigos meetings are held to formulate acceptance tests incorporating perspectives of the customer, development, and testing. The customer is focused on the problem that is to be solved, the development is focused on how the problem will be solved whereas the testing is focused on what could go wrong. The acceptance tests are a representation of the user’s point of view and describe how the system will function. It also helps to verify that the system functions as it is supposed to. In some instances acceptance tests are automated.

Exploratory Testing

In this type of testing, the test design and test execution phase go hand in hand. Exploratory testing emphasises working software over comprehensive documentation. The individuals and interactions are more important than the process and tools. Customer collaboration holds greater value than contract negotiation. Exploratory testing is more adaptable to changes. In this testers identify the functionality of an application by exploring the application. The testers try to learn the application, and design & execute the test plans according to their findings.

Agile Testing Life Cycle

The agile testing life cycle includes the following 5 phases:

  1. Impact assessment - Gather input from stakeholders and users, this will act as feedback for the next deployment cycle.

  2. Agile Testing Planning - All stakeholders come together to plan the schedule of the testing process, meeting frequency, and deliverables.

  3. Release Readiness - In this stage, we review the features that have been developed/implemented are ready to go live or not.

  4. Daily Scrums - Daily standup meeting includes everyday meetings to catch up on the status of testing and set the goals for the whole day.

  5. Agility Review - Weekly review meeting with stakeholder meeting to review and assess the progress against milestones.

Conclusion

Agile testing not only facilitates the early detection of defects but also reduces the cost of bugs by fixing them early. This approach also yields a customer-centric approach by delivering a high-quality product as early as possible.

September 09, 20213 minutesNayan PatelNayan Patel