Software Development Glossary Flashcards
(24 cards)
SSO (What is it? Why do companies want it for Chromatic?)
(Single Sign On) This is an enterprise plan feature. It’s very common for large companies to want SSO to better manage user accounts. This allows companies to have all of their employees centralize all accounting provisioning on one platform. That means you don’t need an individual Chromatic account, a separate GitHub account, and an email account. Instead, you use an SSO provider (Okta is a common one) to centralize all of this, so you just log into the SSO provider, and then you have access to all of your accounts. It’s mainly a security thing.
SAML (What do we need to know regarding SAML + Chromatic?)
(Security Assertion Markup Language). This is a type of SSO. All that matters to know is that we can only support SAML-based SSO (most major SSO providers are SAML based).
Pull request
A pull request isan event in Git where one member (usually a developer) asks another member (often another developer) of a Git repository to review code they want to merge into a project. This is a GitHub term. The GitLab equivalent is a merge request (or MR).
On-prem git (What is it? Does Chromatic support it?)
Typically a git repository (like on GitHub) is in the cloud. Some teams have on-prem git, which means their git repository is housed on their local server, not on the public/cloud git server. This often happens for teams with tight security guidelines, like banks. Chromatic only supports on-prem git on an unlinked project, but a custom integration can be done to link the project on our enterprise plans only.
Regression testing
Regression testing is re-running functional and non-functional tests to ensure that previously developed and tested software still performs after a change. If not, that would be called a regression. Chromatic specifically does visual regression testing.
E2E testing
End-to-end testingis a methodology used in the software development lifecycle (SDLC) to test the functionality and performance of an application under product-like circumstances and data to replicate live settings. The goal is to simulate what a real user scenario looks like from start to finish.
Unit testing
Unit testing is a software testing method by which individual units of source code—sets of one or more computer program modules together with associated control data, usage procedures, and operating procedures—are tested to determine whether they are fit for use.
a11y
TheA11YProject is a community-driven effort to make digital accessibility easier. They have an accessibility add-on that can be used with Storybook to ensure that their components remain accessible (essentially clear and easy for users to use).
Figma
This is a design tool used by many teams to design and prototype components and web applications. In practice, this is often where design teams create what they want the development team to build.
UI
Stands for user interface. It is the series of screens, pages, and visual elements—like buttons and icons—that enable a person to interact with a product or service.
UX
Stands for user experience. It is the internal experience that a person has as they interact with every aspect of a company’s products and services.
DevTools
Developer tools are programs that allow a developer to create, test and debug software.
DevOps
DevOps is a set of practices that combines software development and IT operations. It aims to shorten the systems development life cycle and provide continuous delivery with high software quality.
Maintainer
Someone who maintains a specific repository or piece of code. In our context, we will say “the Chromatic team is also the core maintainers of Storybook.” This means that our team maintains the Storybook code base (essentially, keeping it current and ensuring that bugs are addressed and features are added.)
Viewport
This is the different resolution of a screen. For example, mobile is one viewport, there is tablet and web browser as well. These all have certain dimensions or resolutions.
Continuous integration (CI)
In software engineering,continuous integration(CI) is the practice of merging all developers’ working copies to a shared mainline several times a day.
Continuous Delivery (CD)
Continuous delivery is a software engineering approach in which teams produce software in short cycles, ensuring that the software can be reliably released at any time and, when releasing the software, without doing so manually. It aims at building, testing, and releasing software with greater speed and frequency.
Permalink
A permanent static hyperlink to a particular web page or entry in a blog. Chromatic provides teams with a permalink of their hosted Storybook.
Git provider
A git provider stores a teams code, typically in a repository. It allows team members to commit changes, and pull down code and develop from various workstations. Chromatic integrates with three major git providers, GitHub, GitLab, and BitBucket.
Opensource
Open-source software is computer software that is released under a license in which the copyright holder grants users the rights to use, study, change, and distribute the software and its source code to anyone and for any purpose. Storybook is entirely opensource and accessible to anyone.
Vite
A JS build tool to compile your JavaScript and turn it into something that the browser understands. Vite is an alternative to Webpack and offers significant speed improvements but it isn’t widely adopted yet, presumably because a lot of libraries aren’t setup to support it yet.
Webpack
A JS build tool to compile your JavaScript and turn it into something that the browser understands. For a while, Webpack was what most people used but that is beginning to change with tools like Vite coming about.
Functional component
A component that is a JavaScript function vs a class. Most people will be writing React in a functional style these days, whereas there was a time where we were all using class based components.
Callback
An event that fires as a result of some “trigger.” An easy example is a “click” callback → when the user clicks something, fire an event to handle it.