Application Architecture
Top Stories
-
Tip
30 Jul 2026
Automated testing is not a magic bullet
Test automation rarely serves as a shortcut to faster testing. Its greatest value lies in improving software quality, expanding coverage and enabling testers to focus on high-value work. Continue Reading
By- Gerie Owen, Roobrik
-
Tip
28 Jul 2026
Rethink how you screen senior developers to produce better mentors
Traditional coding tests often miss the qualities that matter most in senior developers. Explore a hiring approach focused on code review, mentoring and practical problem solving. Continue Reading
By
-
Tip
06 Nov 2024
How to improve DevOps through collaboration
Collaboration is key in DevOps, surpassing any one tool, product or individual. Discover why collaboration is crucial and tips for collaborating effectively in DevOps. Continue Reading
By- Stephen J. Bigelow, Senior Technology Editor
-
Tip
04 Nov 2024
Managing complexity: Event-driven architecture explained
Event-driven architecture is complex, but so are today's data challenges. Discover ways to manage dynamic and distributed interactions in this EDA explainer. Continue Reading
By -
Tip
01 Nov 2024
7 top software testing certifications in 2025
Certifications validate the candidate's software testing skills and keep them current with industry trends. Learn which certs offer the most value in the testing job market. Continue Reading
By -
News
29 Oct 2024
GitHub Copilot Autofix expands as AI snags software delivery
GitHub Copilot Autofix could help vulnerability management keep pace as the volume of AI-generated code swamps delivery processes, but can AI be trusted to rein in AI? Continue Reading
By- Beth Pariseau, Senior News Writer
-
Tip
25 Oct 2024
8 microservices best practices to remember
From integrating domain-driven design to securing APIs, explore a range of microservices best practices for building a resilient and scalable application. Continue Reading
By- Tom Nolle, Andover Intel
-
Definition
23 Oct 2024
What is Jira?
Jira is an application lifecycle management (ALM) and Agile project management tool from Atlassian. Continue Reading
By -
Definition
23 Oct 2024
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
By- Kinza Yasar, Technical Writer
- Rahul Awati
-
Definition
23 Oct 2024
What is Apache JMeter?
Apache JMeter is open source software for load testing applications and measuring their performance. Continue Reading
By- Alexander S. Gillis, Technical Writer and Editor
-
Definition
22 Oct 2024
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
By- Alexander S. Gillis, Technical Writer and Editor
-
Definition
22 Oct 2024
What is alpha testing?
Alpha testing is the initial phase of validating whether a new product will perform as expected. Continue Reading
By- Margie Semilof, TechTarget
-
Definition
22 Oct 2024
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
By- Diane Hoffman, Intelopment Group LLC
-
Definition
22 Oct 2024
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
By- Alexander S. Gillis, Technical Writer and Editor
-
Definition
22 Oct 2024
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
By- Alexander S. Gillis, Technical Writer and Editor
-
Tip
21 Oct 2024
Rust vs. Python: Strengths, challenges and use cases
This Rust vs. Python faceoff breaks down how the two programming languages stack up against each other in terms of performance, speed, memory management and more. Continue Reading
By- Twain Taylor, Twain Taylor Consulting
-
Definition
18 Oct 2024
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
By- Scott Robinson, New Era Technology
- Kate Brush
- Valerie Silverthorne
-
Definition
17 Oct 2024
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
-
Definition
17 Oct 2024
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
-
News
11 Oct 2024
Buildkite: CI/CD pipelines still a job for app developers
In an era of platform engineering, Buildkite and its high-scale users maintain that CI/CD pipelines and testing should remain the purview of app developer teams. Continue Reading
By- Beth Pariseau, Senior News Writer
-
Definition
11 Oct 2024
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
By- Scott Robinson, New Era Technology
- Matt Heusser, Excelon Development
-
Tip
08 Oct 2024
Rust vs. C++: Differences and use cases explained
C++ was mature before Rust even existed. Does that mean developers should switch from C++ to Rust? Not always. Continue Reading
By- Kerry Doyle
- Twain Taylor, Twain Taylor Consulting
-
Tip
02 Oct 2024
An introduction to TypeSpec, a new API definition language
Standardizing API descriptions and converting API definitions into different formats can be challenging. TypeSpec, a new API definition language, aims to solve that. Continue Reading
By -
Tip
30 Sep 2024
The basics, benefits and risks of cell-based architecture
Cell-based architecture adds a new twist to enterprise infrastructure by speeding deploys, improving uptime and maybe even reducing the test effort. Continue Reading
By- Matt Heusser, Excelon Development
-
Definition
27 Sep 2024
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
By- Cameron Hashemi-Pour, Former Site Editor
- Adam Riglian, TechTarget
-
Definition
23 Sep 2024
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
-
Definition
23 Sep 2024
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 completed application. Continue Reading
By- Rahul Awati
- Alexander S. Gillis, Technical Writer and Editor
-
Definition
20 Sep 2024
What is dependency injection in object-oriented programming (OOP)?
Dependency injection is a technique used in object-oriented programming (OOP) to reduce the hardcoded dependencies between objects. Continue Reading
By- Robert Sheldon
- Alexander S. Gillis, Technical Writer and Editor
- Kevin Ferguson
-
Definition
19 Sep 2024
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
-
Feature
17 Sep 2024
CI/CD pipelines explained: Everything you need to know
CI/CD can transform an organization, but there's a lot to consider. This comprehensive guide explains the CI/CD pipeline stages, benefits and challenges, best practices and more. Continue Reading
By- Stephen J. Bigelow, Senior Technology Editor
-
Video
16 Sep 2024
Dependency injection and inversion of control in Spring
At the heart of every Spring project, be it Spring AI, Spring MVC or Spring Data, lies a powerful dependency injection and inversion of control container. Here's how it works. Continue Reading
By- Cameron McKenzie, TechTarget
-
News
12 Sep 2024
Docker pricing changes hike mid-tier costs
Docker adds features but raises Pro and Team prices and adds consumption-based Docker Hub pricing for container image pulls and storage. Continue Reading
By- Beth Pariseau, Senior News Writer
-
Definition
11 Sep 2024
What is a software stack?
A software stack is a collection of independent components that work together to support the execution of an application. Continue Reading
By- Paul Kirvan
- Margie Semilof, TechTarget
- James Montgomery, Senior Features Editor
-
Definition
10 Sep 2024
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
-
Tip
04 Sep 2024
10 dying or 'dead' programming languages
In a rapidly evolving landscape, these 10 programming languages are becoming increasingly obscure. Learn how programming languages die despite their former prominence. Continue Reading
By -
Tip
29 Aug 2024
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
By -
Video
26 Aug 2024
Difference between the Spring Framework and Spring Boot
You can use the Spring Framework to build microservices without using Spring Boot, but should you? To answer that, you must know the difference between Spring and Spring Boot. Continue Reading
By- Cameron McKenzie, TechTarget
-
Tip
26 Aug 2024
UX design principles: Why should testers know them?
Usability is key to the success of an application. Learn what developers and testers should look for to optimize usability and maximize the business value of an application. Continue Reading
By -
Tip
20 Aug 2024
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
By -
Tip
16 Aug 2024
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
By- Ben Lutkevich, Site Editor
-
Opinion
14 Aug 2024
Software testing lessons learned from the CrowdStrike outage
After the recent CrowdStrike outage, organizations are keen to prevent and prepare for potential future disruptions. These key security and quality lessons can help. Continue Reading
By- Matt Heusser, Excelon Development
-
Definition
14 Aug 2024
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
By- Robert Sheldon
- Cameron McKenzie, TechTarget
-
Definition
09 Aug 2024
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
By- Alexander S. Gillis, Technical Writer and Editor
-
Tip
09 Aug 2024
How to weigh the benefits and challenges of CI/CD
Many organizations begin their DevOps journey with a continuous integration and delivery pipeline. Before getting started, understand some fundamental benefits of CI/CD. Continue Reading
-
Definition
09 Aug 2024
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
By -
Definition
09 Aug 2024
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
-
Definition
09 Aug 2024
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
By -
News
08 Aug 2024
Endor Labs ships Java 'Magic Patches' with SCA tools
Upgrade impact analysis and backported fixes will help one enterprise customer make a major Java upgrade manageable and keep compliant with FedRAMP. Continue Reading
By- Beth Pariseau, Senior News Writer
-
Tip
08 Aug 2024
12 CI/CD best practices for DevOps teams
Building and maintaining a CI/CD pipeline requires more than just chains of automation. Adopt these CI/CD approaches to maximize your development and deployment efforts. Continue Reading
By- Matt Grasberger, Red Guava
- Stephen J. Bigelow, Senior Technology Editor
-
News
07 Aug 2024
CloudBees buys co-founder's AI test automation tools startup
Jenkins creator Kohsuke Kawaguchi rejoins CloudBees as co-CEO of Launchable, which aims to stem the tide of AI-generated code with AI-driven test optimization. Continue Reading
By- Beth Pariseau, Senior News Writer
-
Definition
07 Aug 2024
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
-
Tip
06 Aug 2024
Epics, features and user stories explained
Epics, features and user stories are all uniquely important work products in Agile product management. Learn the difference between them and how they work together to create value. Continue Reading
By- Gerie Owen, Roobrik
-
Tip
05 Aug 2024
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
-
Video
02 Aug 2024
Agile vs. Scrum: How to choose between them
Scrum and Agile both emphasize collaboration and efficiency for DevOps teams in different ways. Learn when to use each approach and when to use them in tandem. Continue Reading
By- Ben Lutkevich, Site Editor
-
News
02 Aug 2024
AWS CodeCommit, Cloud9 closure communication critiqued
AWS CodeCommit gives up the Git ghost to competitors, while a lack of advance notice to users has some IT pros questioning the future of other services. Continue Reading
By- Beth Pariseau, Senior News Writer
-
Definition
01 Aug 2024
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
By -
Definition
31 Jul 2024
What is API testing? Everything you need to know
API testing is a type of software testing that analyzes an application programming interface (API) to verify that it fulfills its expected functionality, security, performance and reliability. Continue Reading
By- Kinza Yasar, Technical Writer
- Alexander S. Gillis, Technical Writer and Editor
- Kate Brush
-
Tip
31 Jul 2024
A beginner's guide to learning new programming languages
Rust or Ruby? Go or Groovy? As the competitive IT landscape evolves, developers can enhance their skills and career potential by learning new programming languages. Continue Reading
By -
Definition
31 Jul 2024
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
By- Stephen J. Bigelow, Senior Technology Editor
- Alexander S. Gillis, Technical Writer and Editor
-
News
30 Jul 2024
Court reverses Appian's $2B espionage win against Pegasystems
Two years ago, Appian was awarded damages in its lawsuit against Pegasystems, which it accused of spying. A court of appeals has reversed that decision. Continue Reading
By- Bridget Botelho
- Stephanie Glen, News Writer
-
Video
29 Jul 2024
Java tic-tac-toe game coding tutorial
What's the best way to learn how to program? Code up some of your favorite childhood games. Here, we'll show you how to code a tic-tac-toe game in Java. Continue Reading
By- Cameron McKenzie, TechTarget
-
Definition
29 Jul 2024
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
-
Definition
29 Jul 2024
What is REpresentational State Transfer (REST)
REST (REpresentational State Transfer) is an architectural style for developing web services and systems that can easily communicate with each other. Continue Reading
-
News
26 Jul 2024
CrowdStrike outage underscores software testing dilemmas
Experts say efforts to avoid incidents such as last week's CrowdStrike outage will face time-honored tradeoffs between velocity, stability, access and security. Continue Reading
By- Beth Pariseau, Senior News Writer
-
Tip
26 Jul 2024
Guide to synthetic test data
Synthetic data can replicate real-world scenarios in software testing. Discover how synthetic data addresses challenges posed by real-world data while preserving its advantages. Continue Reading
By- Butch Mayhew, Tilled
-
Tip
26 Jul 2024
5 best practices for microservices authorization
Authorization is a critical security component of a microservices architecture. Follow these five guiding principles to deploy and manage the microservices authorization process. Continue Reading
By- Twain Taylor, Twain Taylor Consulting
-
Definition
26 Jul 2024
What is an API endpoint?
An API endpoint is a point at which an application programming interface -- the code that enables two software programs to communicate with each other -- connects with the software program. Continue Reading
By- Kinza Yasar, Technical Writer
-
Tip
16 Jul 2024
10 skills an SDET needs
SDETs need a blend of development and testing skills to be effective, as well as soft skills critical to both disciplines. Learn to develop important skills for this hybrid role. Continue Reading
By -
Definition
12 Jul 2024
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
By- Rahul Awati
- Matt Heusser, Excelon Development
-
Tip
02 Jul 2024
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
By- Gerie Owen, Roobrik
-
Tip
27 Jun 2024
Cypress vs. Playwright: When to use each
Cypress and Playwright stand out as notable options among the many automated testing tools available. Learn how to make an informed choice between them. Continue Reading
By -
Tip
17 Jun 2024
Why and how to manage microservices without API gateways
Managing microservices without API gateways might be uncommon, but not unheard of. Consider the benefits, downsides and available auxiliary tools before taking an alternate approach. Continue Reading
By -
Definition
14 Jun 2024
reactive programming
Reactive programming is a programming paradigm, or model, that centers around the concept of reacting to changes in data and events as opposed to waiting for an event to happen. Continue Reading
By- Alexander S. Gillis, Technical Writer and Editor
- Tom Nolle, Andover Intel
-
Tip
14 Jun 2024
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
By- Matt Heusser, Excelon Development
-
Definition
14 Jun 2024
object-oriented programming (OOP)
Object-oriented programming (OOP) is a computer programming model that organizes software design around data, or objects, rather than functions and logic. An object can be defined as a data field that has unique attributes and behavior. Continue Reading
By- Alexander S. Gillis, Technical Writer and Editor
- Sarah Lewis
-
Tip
10 Jun 2024
5 Java ORM tools to know
ORMs are a popular method for connecting to databases from Java. Consider the tradeoffs of these ORM tools to decide which tool to run with. Continue Reading
By- Matt Heusser, Excelon Development
-
Tip
07 Jun 2024
When not to use microservices: 4 challenges to consider
The switch from microservices to monolith could save costs and improve performance. Explore key considerations and questions to ask when deciding the right architecture for an app. Continue Reading
By -
Video
06 Jun 2024
Is Scrum a framework or methodology?
There has always been debate in the Agile community over whether Scrum is a process, methodology or a framework. It might actually be none of them. Continue Reading
By- Darcy DeClute, Scrumtuous Inc.
-
Definition
06 Jun 2024
software
Software is a set of instructions, data or programs used to operate computers and execute specific tasks. Continue Reading
By- Cameron Hashemi-Pour, Former Site Editor
- TechTarget Contributor
-
Definition
31 May 2024
CQRS (command query responsibility segregation)
CQRS (command query responsibility segregation) is a programming design and architectural pattern that treats retrieving data and changing data differently. Continue Reading
By- Rahul Awati
- Kinza Yasar, Technical Writer
- Matt Heusser, Excelon Development
-
Feature
30 May 2024
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
By- Gerie Owen, Roobrik
-
News
29 May 2024
JFrog-GitHub partnership eyes software supply chain security
JFrog and GitHub released a set of focused integrations that provide better visibility across the software supply chain and advance the idea of 'EveryOps.' Continue Reading
By- Nicole Laskowski, Senior News Director
-
Definition
23 May 2024
impact mapping
Impact mapping is a visual planning technique that aligns project processes with business objectives. Continue Reading
By- Ben Lutkevich, Site Editor
-
Tip
22 May 2024
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
By -
News
21 May 2024
Microsoft Visual Studio, Azure updates target AI developers
Microsoft updates this week aim to address the struggles of early enterprise generative AI adopters that have stalled efforts to put pilot projects into real-world production. Continue Reading
By- Beth Pariseau, Senior News Writer
-
Tip
20 May 2024
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
By -
News
14 May 2024
What Google Gemini AI updates mean for software developers
Google's AI dev tools deliver natively multi-modal models that can process huge amounts of data more efficiently and affordably, making it easier to develop apps using AI. Continue Reading
By- Beth Pariseau, Senior News Writer
-
Definition
13 May 2024
Remote Procedure Call (RPC)
A Remote Procedure Call (RPC) is a software communication protocol that one program uses to request a service from another program located on a different computer and network, without having to understand the network's details. Continue Reading
By- Alexander S. Gillis, Technical Writer and Editor
- Linda Rosencrance
- Brein Matturro
-
Tip
10 May 2024
An introduction to the RESTful API Modeling Language (RAML)
The RESTful API Modeling Language, or RAML, can be a powerful tool for developers looking to create an efficient, standardized API management strategy. Continue Reading
By -
News
01 May 2024
Amazon Bedrock users adapt app dev to GenAI
Early adopters of Amazon Bedrock shared lessons learned about incorporating generative AI into software engineering workflows, from managing cloud costs to writing prompts. Continue Reading
By- Beth Pariseau, Senior News Writer
-
Tip
30 Apr 2024
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
By- Gerie Owen, Roobrik
-
Definition
30 Apr 2024
user interface (UI)
The user interface (UI) is the point of human-computer interaction and communication in a device. Continue Reading
By- Cameron Hashemi-Pour, Former Site Editor
- Fred Churchville, TechTarget
-
Definition
29 Apr 2024
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
By- Alexander S. Gillis, Technical Writer and Editor
- Valerie Silverthorne
-
Definition
29 Apr 2024
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
By- Alexander S. Gillis, Technical Writer and Editor
-
Definition
29 Apr 2024
staging environment
A staging environment (stage) is a nearly exact replica of a production environment for software testing. Continue Reading
By- Stephen J. Bigelow, Senior Technology Editor
- Alexander S. Gillis, Technical Writer and Editor
-
Definition
26 Apr 2024
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
By- Margie Semilof, TechTarget
-
Definition
26 Apr 2024
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
By- David Carty, Site Editor
-
Definition
26 Apr 2024
feature-driven development (FDD)
Feature-driven development (FDD) is an Agile software development framework that organizes work around product features. Continue Reading
-
Definition
25 Apr 2024
DevOps Dojo
A DevOps Dojo is a place where DevOps team members go for hands-on training. Continue Reading
By- Alexander S. Gillis, Technical Writer and Editor
-
Definition
25 Apr 2024
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
By- Ryan Black, Former Assistant Site Editor
-
Definition
25 Apr 2024
model-driven development
Model-driven development (MDD) is a format to write and implement software quickly, effectively and at minimum cost. Continue Reading
By- Alexander S. Gillis, Technical Writer and Editor
-
Definition
24 Apr 2024
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
By- Alexander S. Gillis, Technical Writer and Editor