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 Waterfall model? Definition and guide
The Waterfall model is a linear, sequential approach to the software development lifecycle (SDLC) that is popular in software engineering and product development. Continue Reading
Ultimate Markdown guide: 5 rules to know
Markdown is crucial to documentation writers. Learn the vendor-based variations and several basic formatting rules to get started with this potent markup language. Continue Reading
13 common QA interview questions and answers
Use these typical QA interview questions -- broken into basic, intermediate and advanced -- to progress from the screening interview to the final stages and land the job. Continue Reading
-
What is Jira?
Jira is an application lifecycle management (ALM) and Agile project management tool from Atlassian. Continue Reading
What is Apache JMeter?
Apache JMeter is open source software for load testing applications and measuring their performance. Continue Reading
What is integration testing (I&T)?
Integration testing -- also known as integration and testing or I&T -- is a type of software testing in which the different units, modules or components of a software application are tested as a combined entity.Continue Reading
What is an application?
An application, also referred to as an application program or application software, is a computer software package that performs a specific function directly for an end user or, in some cases, for another application.Continue Reading
What is alpha testing?
Alpha testing is the initial phase of validating whether a new product will perform as expected.Continue Reading
What is a 3-tier application architecture?
A three-tier application architecture is a modular client-server architecture that consists of a presentation tier, an application tier and a data tier.Continue Reading
What is acceptance testing?
Acceptance testing is a quality assurance (QA) process that determines to what degree an application meets end users' approval.Continue Reading
-
What is a product owner?
A product owner is a role on a Scrum team that is responsible for the project's outcome.Continue Reading
What is Agile software development?
Agile is a type of software development methodology that anticipates the need for flexibility and applies a level of pragmatism to the delivery of the finished product.Continue Reading
What is happy path testing?
Happy path testing is a type of software testing that uses known input and produces an expected output.Continue Reading
What is a functional specification document?
A functional specification is a formal document used to describe a product's intended capabilities, appearance and interactions with users in detail for software developers.Continue Reading
What is black box testing?
Black box testing assesses a system solely from the outside, without the operator or tester knowing what's happening within the system to generate responses to test actions.Continue Reading
What is Jenkins and how does it work?
Jenkins is an open source continuous integration/continuous delivery and deployment (CI/CD) automation software DevOps tool written in the Java programming language.Continue Reading
What is finite element analysis (FEA)?
Finite element analysis (FEA) is the process of simulating the behavior of an object or assemblage of objects when it's exposed to specified physical conditions, which can be stable or varying.Continue Reading
What is systems development life cycle?
The systems development life cycle (SDLC) is a conceptual model used in project management that describes the stages involved in an information system development project -- from an initial feasibility study all the way through maintenance of the ...Continue Reading
What is a PERT chart? And how to use it, with examples
A PERT chart, sometimes called a PERT diagram, is a project management tool used to schedule, organize and coordinate tasks in a project.Continue Reading
What is a sprint (software development)?
In Agile product development and software project management, a sprint is a set period of time during which specific work has to be completed and made ready for review.Continue Reading
QAOps vs. DevOps: Important differences
QAOps represents an extension of DevOps that can help enterprises mature their software QA practices. Learn how QAOps can help DevOps-driven organizations zero in on quality.Continue Reading
Speed vs. quality in software testing: Can you have both?
Testing can slow development and quick releases can come at the price of quality. Teams should not have to choose. Learn to efficiently pursue quality in development and testing.Continue Reading
User mode vs. kernel mode: OSes explained
Kernel mode exists to keep user applications from disrupting critical system functions. Learn how each state works and what can happen when an error occurs in kernel mode.Continue Reading
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 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 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
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
model-driven development
Model-driven development (MDD) is a format to write and implement software quickly, effectively and at minimum cost.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
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
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
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
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