Get started
Bring yourself up to speed with our introductory content.
Get started
Bring yourself up to speed with our introductory content.
What is a build server?
A build server, also called a continuous integration server (CI server), is a centralized, stable and reliable environment for building distributed development projects. Continue Reading
What is quality assurance (QA)?
Quality assurance (QA) is any systematic process of determining whether a product or service meets specified requirements. Continue Reading
What is shift-right testing?
Shift-right testing is a method of continuously testing software while it is in a post-production environment. Continue Reading
-
What is the software development lifecycle (SDLC)?
The software development lifecycle (SDLC) is a project management framework that describes the stages and tasks involved in each step of software development. Continue Reading
What is software resilience testing?
Software resilience testing is a method of software testing that focuses on ensuring that applications perform well in real-life or chaotic conditions. Continue Reading
-
Definitions to Get Started
- What is a build server?
- What is quality assurance (QA)?
- What is shift-right testing?
- What is the software development lifecycle (SDLC)?
- What is software resilience testing?
- What is static application security testing (SAST)?
- What is offshore software testing?
- What is a quality gate?
What is static application security testing (SAST)?
Static application security testing (SAST) is the process of analyzing and testing application source code for security vulnerabilities.Continue Reading
What is offshore software testing?
Offshore software testing is a software development model where an organization outsources the software testing process to a service partner team located in a different country and time zone.Continue Reading
What is a quality gate?
A quality gate is a milestone in an IT project that requires that predefined criteria be met before the project can proceed to the next phase.Continue Reading
How to put CI, CT and CD together in a DevOps pipeline
DevOps pipelines aren't just about CI/CD. Learn why continuous testing is a crucial piece of the puzzle and how it ultimately results in cleaner code with fewer errors.Continue Reading
What is dynamic application security testing (DAST)?
Dynamic application security testing (DAST) is the process of analyzing a web application in runtime to identify security vulnerabilities or weaknesses.Continue Reading
-
What is continuous integration (CI)?
Continuous integration (CI) is a software development practice in which frequent and incremental changes are routinely added (integrated) to the complete codebase immediately after the changes and additions are tested and validated.Continue Reading
What is no-code? Everything you need to know
No-code is a software development approach that requires few, if any, programming skills to quickly build an application, website or module that links into an existing system.Continue Reading
cache thrash
Cache thrash is an issue caused by an ongoing computer activity that fails to progress due to excessive use of resources or conflicts in the caching system.Continue Reading
test-driven development (TDD)
Test-driven development (TDD), also called test-driven design, is a software programming method that interlaces unit testing, programming and refactoring on source code.Continue Reading
A guide to software design documentation and specifications
Software design documents still rank as important SDLC components -- even in the age of DevOps. Learn why they are important, how to write one and who should contribute.Continue Reading
Requirements vs. user stories in software development
User stories fulfill the same purpose as software requirements but through different means. Learn how to write user stories and how they relate to software requirements.Continue Reading
ORM vs. SQL: When to use each
Object relational mapping and raw SQL are two different ways to interact with relational databases. Learn when to use each of the two methods and when using both is appropriate.Continue Reading
Understanding and implementing the software testing pyramid
Frameworks such as the software testing pyramid help developers implement Agile core values. Learn how the testing pyramid helps teams prioritize test type frequency.Continue Reading
impact mapping
Impact mapping is a visual planning technique that aligns project processes with business objectives.Continue Reading
Waterfall vs. Agile methodology: Differences and examples
Teams have a choice in the way they approach a new dev project. Learn about two main schools of thought -- Agile and Waterfall -- and why Agile is the prevailing methodology today.Continue Reading
How to create an engaging README file
Every developer must learn the art of creating a README file to explain critical information about their software projects to internal stakeholders and customers.Continue Reading
Positive vs. negative testing: Differences and examples
Take an in-depth look at positive and negative testing. Learn how to use both to form the basis of a thorough testing approach through a series of real-world examples.Continue Reading
integrated development environment (IDE)
An integrated development environment (IDE) is a software suite that consolidates basic tools required to write and test software.Continue Reading
fault injection testing
Fault injection testing is a software testing method that deliberately introduces errors to a system to ensure it can withstand and recover from error conditions.Continue Reading
staging environment
A staging environment (stage) is a nearly exact replica of a production environment for software testing.Continue Reading
12-factor app
Twelve-factor app is a methodology for building distributed applications that run in the cloud and are delivered as a service.Continue Reading
cross-browser testing
Cross-browser testing, also called browser testing, is a quality assurance (QA) process that checks whether a web-based application, site or page functions as intended for end users across multiple browsers and devices.Continue Reading
feature-driven development (FDD)
Feature-driven development (FDD) is an Agile software development framework that organizes work around product features.Continue Reading
DevOps Dojo
A DevOps Dojo is a place where DevOps team members go for hands-on training.Continue Reading
soak testing
Soak testing is a type of performance testing that gauges how an application handles a growing number of users or increasingly taxing tasks over an extended period of time.Continue Reading
model-driven development
Model-driven development (MDD) is a format to write and implement software quickly, effectively and at minimum cost.Continue Reading
spike testing
Spike testing is a type of performance testing in which an application receives a sudden and extreme increase or decrease in load.Continue Reading
The 7 stages of the SDLC explained
The development process can be broken into seven distinct phases that transform high-level plans into production-ready software. Learn how to approach each phase of the SDLC.Continue Reading
Learn the phases of feature-driven development
Learn how development teams can use the five phases of feature-driven development to put Agile principles into practice by structuring projects around app functionality.Continue Reading
Learn Jenkins: Tutorial for beginners
Jenkins is a popular open source CI/CD tool, and it's not hard to learn either. Learn to build your own CI/CD pipelines with this full Jenkins tutorial for beginners.Continue Reading
low-code and no-code development platforms
Low-code/no-code development platforms are software development tools and environments that allow enterprise developers and citizen developers to create new applications using drag-and-drop components, linking them together and creating mobile or ...Continue Reading
Summit speakers break down new era of developing software
Top thought leaders discuss their strategies to choose the right software development process and to best utilize AI and ML in this comprehensive BrightTALK summit.Continue Reading
Understanding code linting techniques and tools
Linting is an important preliminary step in the debugging process. Learn how fixing simple errors early on makes code easier to work with and improves coding practices.Continue Reading
functional programming
Functional programming is a programming paradigm that uses functions to construct programs and control how those programs operate.Continue Reading
The importance of edge case testing: When to fix the bug
While edge cases in software testing only affect a small subset of users, testing for them is still important. Learn which edge fixes are worth making and which can be ignored.Continue Reading
polyglot programming
Polyglot programming is the practice of writing code in multiple languages to capture additional functionality and efficiency not available in a single language.Continue Reading
Create an open source security policy for your organization
Using open source software raises concerns about security and intellectual property. Here's how to make sound decisions and avoid situations you'll regret.Continue Reading
session ID
A session ID, also called a session token, is a unique identifier that a web server assigns to a user for the duration of the current session.Continue Reading
What to know about Python load testing
It's a nice problem to have when an application is so popular it's in danger of failing from too many customers accessing it at once. Be sure you are ready to meet that demand.Continue Reading
Is Scrum master certification worth it?
Considering a Scrum master certification? Let's look at the considerations that factor into a decision to pursue certification and whether being a Scrum master benefits a career.Continue Reading
How boundary value analysis boosts test efficiency
Boundary value analysis provides multiple benefits, including increased test coverage and proactive defect prevention. It's a simple way to improve test efficiency.Continue Reading
citizen development
Citizen development is a business process that encourages non-IT-trained employees to become software developers, using IT-sanctioned low-code/no-code (LCNC) platforms to create business applications.Continue Reading
6 green coding best practices and how to get started
Software developers can support sustainability efforts via a range of green coding tactics. These best practices range from shrinking artifacts to maximizing efficiency.Continue Reading
Manual mobile app testing is still important
Automation is a great way to check on a mobile app's performance and basic functionality. But testing manually reaches places automation alone cannot.Continue Reading
Is a continuous planning process in DevOps worth it?
Is a continuous planning strategy right for your organization's DevOps efforts? Know the practical benefits and challenges, as well as how to improve development efficiencies.Continue Reading
Scrum master interview questions and answers
Want to ace the Scrum master interview? These tough Scrum master questions and answers will help you prepare.Continue Reading
How to test a predictive model
Strategies for testing predictive models and analytics emphasize data quality, real-time testing and code redundancy, as well as AI and machine learning integration.Continue Reading
The dos and don'ts of visual testing
The visual aspect of an application is an important part of UX. Defects can potentially result in lost sales and damaged reputations.Continue Reading
3 QA testing tools to consider
QA testers need to be able to put applications and APIs through their paces. Here are some examples of tools that can help with automated testing and debugging.Continue Reading
Collaborative coding basics and best practices
Successful collaborative coding includes teamwide situational awareness, highly effective communication, strong project management practices and strict version control.Continue Reading
How to develop a test data management strategy
Effective test data management in app development involves defining appropriate data, using activity diagrams to see how the code will perform, and protecting sensitive information.Continue Reading
Roles and responsibilities in an Agile center of excellence
A successful Agile transformation takes time and perseverance. Here's how an Agile center of excellence helps to adopt changes and adjust work processes.Continue Reading
Unified Modeling Language (UML)
Unified Modeling Language (UML) is a standard notation for modeling real-world objects as a first step in designing an object-oriented system.Continue Reading
How to make use of specification-based test techniques
Specification-based techniques can play a role in efficient test coverage. Choosing the right techniques can ensure thorough coverage, while eliminating redundancy.Continue Reading
The basics of implementing an API testing framework
With an increasing need for API testing, having an efficient test strategy is a big concern for testers. How can teams evaluate what framework strategy is the right match?Continue Reading
daily stand-up meeting
A daily stand-up meeting is a short organizational meeting that is held each day.Continue Reading
Scrum master certification exam questions and answers
Are you ready for the Scrum master certification exam? Test yourself on these 10 tough Scrum master exam questions and answers.Continue Reading
Scrum product owner certification exam questions and answers
Here are 10 tough sample Scrum product owner exam questions and answers to help gauge your readiness for the certification test.Continue Reading
requirements analysis (requirements engineering)
Requirements analysis (requirements engineering) is the process of determining user expectations for a new or modified product.Continue Reading
garbage in, garbage out (GIGO)
Garbage in, garbage out, or GIGO, refers to the idea that in any system, the quality of output is determined by the quality of the input.Continue Reading
joint application development (JAD)
Joint application development, frequently shortened to JAD, is a methodology that involves the client or end user in the design and development of a software application through a succession of collaborative workshops called JAD sessions.Continue Reading
iterative development
Iterative development is a way of breaking down the software development lifecycle (SDLC) of a large application into smaller chunks.Continue Reading
histogram
A histogram is a type of chart that shows the frequency distribution of data points across a continuous range of numerical values.Continue Reading
UX research
User experience (UX) research is the study of learning what end users of a system or product need and want, then employing those insights to enhance the design process for products, services or software.Continue Reading
automated testing
Automated testing is a software testing technique that automates the process of validating the functionality of software and ensures it meets requirements before being released into production.Continue Reading
unit testing
Unit testing is a software development process in which the smallest testable parts of an application, called units, are individually scrutinized for proper operation.Continue Reading
SQL injection (SQLi)
A SQL injection (SQLi) is a technique that attackers use to gain unauthorized access to a web application database by adding a string of malicious code to a database query.Continue Reading
How to develop an API test automation strategy
A suite of automated API tests can set up an application for success but only if QA teams determine the right tests to automate and implement them correctly.Continue Reading
How to build a regression test suite
Code changes are an unavoidable aspect of software development. Teams need to properly test to make sure those changes don't adversely affect the end product.Continue Reading
sequence diagram
A sequence diagram is one of the multiple types of system interaction diagrams used within Unified Modeling Language (UML) to visually represent interactions between the objects that live within a system.Continue Reading
structured programming (modular programming)
Structured programming, or modular programming, is a programming paradigm that facilitates the creation of programs with readable code and reusable components.Continue Reading
mob programming
Mob programming is a collaborative approach to software development in which a group of developers work together in real time on one task.Continue Reading
collaboration diagram
A collaboration diagram, also known as a communication diagram, is an illustration of the relationships and interactions among software objects in the Unified Modeling Language (UML).Continue Reading
MoSCoW method
The MoSCoW method is a four-step approach to prioritizing which project requirements provide the best return on investment (ROI).Continue Reading
system testing
System testing, also referred to as system-level testing or system integration testing, is the process in which a quality assurance (QA) team evaluates how the various components of an application interact together in the full, integrated system or ...Continue Reading
end-to-end testing
End-to-end (E2E) testing is a software testing methodology that verifies the working order of a software product in a start-to-finish process.Continue Reading
performance testing
Performance testing is a testing measure that evaluates the speed, responsiveness and stability of a computer, network, software program or device under a workload.Continue Reading
smoke testing
Smoke testing, also called build verification testing or confidence testing, is a software testing method that is used to determine if a new software build is ready for the next testing phase.Continue Reading
What details to include on a software defect report
Teams that can write clear and detailed defect reports will increase software quality and reduce the time needed to fix bugs. Here's what to know about getting reports right.Continue Reading
How to run an ADA-compliant website test
Digital accessibility benefits both developers and website users alike. By following WCAG guidelines and using testing tools, teams can ensure that their websites are ADA-compliant.Continue Reading
4 critical API caching practices all developers should know
API caching can increase the performance and response time of an application, but only if it's done right. Learn about some of the caching tools and techniques worth implementing.Continue Reading
hybrid application (hybrid app)
A hybrid app is a software application that combines elements of both native apps and web applications.Continue Reading
web application (web app)
A web application (web app) is an application program that is stored on a remote server and delivered over the internet through a browser interface.Continue Reading
How to validate a Kubernetes manifest
Dev teams must validate Kubernetes manifests. Developers can navigate validation and issues that arise with the help of native and third-party tools and other coding methods.Continue Reading
Disciplined Agile Delivery (DAD)
Disciplined Agile Delivery (DAD) is a scalable Agile software delivery framework. It takes a people-first, learning-oriented approach to software development and delivery.Continue Reading
10 essential Scrum Master skills
From sprint planning to servant leadership, Scrum Masters help Agile developers, product owners and other team members perform at their best. Here's what makes a good Scrum Master.Continue Reading
native app
A native application is a software program developers build for use on a particular platform or device.Continue Reading
How to compare acceptance criteria vs. definition of done
Acceptance criteria and the definition of done both measure quality in product development, but the ways teams calculate and achieve these features vary dramatically.Continue Reading
rapid mobile app development (RMAD)
Rapid mobile application development (RMAD) uses low-code/no-code programming tools to expedite the application creation process for mobile platforms.Continue Reading
pipeline as code
Pipeline as code is an approach to a continuous integration (CI) pipeline where the pipeline is expressed entirely in computer code.Continue Reading
use case
A use case is a methodology used in system analysis to identify, clarify and organize system requirements.Continue Reading
debugging
Debugging, in computer programming and engineering, is a multistep process that involves identifying a problem, isolating the source of the problem and then either correcting the problem or determining a way to work around it.Continue Reading
software toolchain
A software toolchain is a set of software development tools used simultaneously to complete complex software development tasks or to deliver a software product.Continue Reading
static testing
Static testing is a software testing method that examines a program -- along with any associated documents -- but does not require the program to be executed.Continue Reading
user story
A user story is a tool in Agile software development used to capture a description of a software feature from a user's perspective. The user story describes the type of user, what they want and why. A user story helps to create a simplified ...Continue Reading