Application Architecture: Page
-
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.
By Scott Robinson , Matt Heusser • Oct. 11, 2024 -
Expert Advice // Getting started with Rust
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.
By Kerry Doyle , Twain Taylor • Oct. 8, 2024 -
Expert Advice
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.
By Chris Tozzi • Oct. 2, 2024 -
Expert Advice // Cell-based architecture and other unique design approaches
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.
By Matt Heusser • Sept. 30, 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.
By Cameron Hashemi-Pour, Adam Riglian • Sept. 27, 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.
By Robert Sheldon, Kate Brush • Sept. 23, 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.
By Rahul Awati, Alexander Gillis • Sept. 23, 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.
By Robert Sheldon, Alexander Gillis, Kevin Ferguson • Sept. 20, 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.
By Robert Sheldon, Wesley Chai, Kate Brush • Sept. 19, 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.
By Stephen Bigelow • Sept. 17, 2024 -
Video
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.
By Cameron McKenzie • Sept. 16, 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.
By Beth Pariseau • Sept. 12, 2024 -
What is BASIC (Beginner’s All-purpose Symbolic Instruction Code)?
BASIC, short for Beginner's All-purpose Symbolic Instruction Code", is an early programming language that was designed to help non-technical users and students solve easy problems with a computer.
By Rahul Awati • Sept. 12, 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.
By Paul Kirvan, Margie Semilof, James Montgomery • Sept. 11, 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.
By Rahul Awati, Vicki-Lynn Brunskill • Sept. 10, 2024 -
Expert Advice
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.
By Chris Tozzi • Sept. 4, 2024 -
Expert Advice
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.
By Will Kelly • Aug. 29, 2024 -
Video
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.
By Cameron McKenzie • Aug. 26, 2024 -
Video
An explanation of Apple Intelligence
Core features of Apple's generative AI tool include natural language understanding, custom image generation and automatic transcription.
By Sabrina Polin • Aug. 26, 2024 -
Expert Advice
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.
By Amy Reichert • Aug. 26, 2024 -
Expert Advice
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.
By Amy Reichert • Aug. 20, 2024 -
Expert Advice // Navigating CrowdStrike: Lessons from the outage
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.
By Ben Lutkevich • Aug. 16, 2024 -
Opinion // Navigating CrowdStrike: Lessons from the outage
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.
By Matt Heusser • Aug. 14, 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.
By Cameron McKenzie, Robert Sheldon • Aug. 14, 2024 -
Expert Advice
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.
By Clive Longbottom • Aug. 9, 2024