# cashapp-paparazzi

Published articles for cashapp-paparazzi.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Understanding & Assessing Visual Regression Testing

DevFeed: [Understanding & Assessing Visual Regression Testing](<https://devfeed.tech/articles/understanding-assessing-visual-regression-testing-22787.md>)

Original publisher: [Read original article](<https://medium.com/microsoft-mobile-engineering/understanding-assessing-visual-regression-testing-4384529a8dd8?source=rss----87f10537e947---4>)

Author: Nikhita Reddy Eega

Published: 2023-07-27T12:58:43Z

Content type: tutorial

Language: en

Sources: [Android@Microsoft - Medium](<https://devfeed.tech/sources/android-microsoft-medium.md>)

Topics: [Testing](<https://devfeed.tech/topics/testing.md>), [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Declarative programming](<https://devfeed.tech/topics/declarative-programming.md>), [ui](<https://devfeed.tech/topics/ui.md>), [XML](<https://devfeed.tech/topics/xml.md>)

Tags: [capture](<https://devfeed.tech/tags/capture.md>), [cashapp-paparazzi](<https://devfeed.tech/tags/cashapp-paparazzi.md>), [declarative](<https://devfeed.tech/tags/declarative.md>), [facebook-sdk](<https://devfeed.tech/tags/facebook-sdk.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [snapshots](<https://devfeed.tech/tags/snapshots.md>), [testing](<https://devfeed.tech/tags/testing.md>), [verify](<https://devfeed.tech/tags/verify.md>), [visual-regression-testing](<https://devfeed.tech/tags/visual-regression-testing.md>)

### AI overview

This article explains visual regression testing for Android UI, focusing on possible visual differences when migrating from the View system to Jetpack Compose. It describes recording baseline snapshots, verifying new snapshots against them, and evaluating VRT tools such as Facebook SDK and Paparazzi for framework compatibility.

### Source excerpt

Understanding & Evaluating Visual Regression TestingPhoto by Jessica Ruscello on UnsplashDive into learning about VRT tools like Facebook SDK, Paparazzi and study their compatibility for migration. Since Jetpack Compose was released in 2021, its declarative programming model has offered a modern and intuitive approach to building user interface. Compared to View system framework, Compose promotes cohesion and simplifies state-management. This framework is lightweight because the UI components are built using composable functions as separate building pieces. With this paradigm shift, boilerplate code is lessened, code reuse is encouraged, and the development process is made simpler. Migrating to Compose seems quite appealing. Will there be any regression if we migrate from one framework to another, though? Because Compose is still relatively new compared to the well-established View-based UI, there might be potential challenges faced during the migration period. What about visual regressions? Possible visual regressions can be encountered due to different UI frameworks, view configuration and styling approach. Styling and themes are usually defined in XML resource files which are applied to the views and then rendered. Whereas in Compose, these are programmatically defined in Kotlin and then takes advantage of efficient recomposition. These variances may result in changes to padding, margin, etc. Thus, to maintain a seamless transition and avoid any visual bugs going unreported, visual regression testing can be used. This ensures that the final UI is consistent to enhance user experience. Understanding Visual Regression Testing (VRT): Let us now break down the process into two design approaches -- High level and Low level High-Level Design Approach Consists of 2 steps: 1) Record -- Generating a snapshot and saving it as Golden (baseline/reference snapshot used to compare subsequent snapshots) 2) Verify -- Compares the two snapshots High level design flowLow-Level Design