Get started
Bring yourself up to speed with our introductory content.
Get started
Bring yourself up to speed with our introductory content.
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
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
NIST (National Institute of Standards and Technology)
NIST (National Institute of Standards and Technology) is a nonregulatory government agency located in Gaithersburg, Md.Continue Reading
An overview of data-driven API testing
API testing -- including data-driven API testing -- differs from other software tests in its overall process and relevant metrics. Analytics and automation play a key role.Continue Reading
How you can incorporate lean coffee for Agile, QA meetings
Don't let formal meeting agendas turn away attendees. The lean coffee format encourages participation and idea sharing on topics to drive conversation in numerous settings.Continue Reading
Why security chaos engineering works, and how to do it right
While 'chaos' doesn't sound like something software security managers would want, chaos engineering has an enticing amount of value when it comes to identifying potential threats.Continue Reading
green software
Green software, also known as sustainable software, is software that is designed, developed and implemented to limit energy consumption and have minimal environmental impact.Continue Reading
synthetic monitoring
Synthetic monitoring is the use of software to simulate user interactions with a system.Continue Reading
SSADM (Structured Systems Analysis and Design Method)
SSADM (Structured Systems Analysis and Design Method) is a widely used computer application development method in the United Kingdom, where its use is often specified as a requirement for government computing projects.Continue Reading
exception handling
Exception handling is the process of responding to unwanted or unexpected events when a computer program runs.Continue Reading
Implement reliability testing methods, tools for better dev
Reliability testing can play an integral role in software development. Here are some methods and tools to incorporate into your app development lifecycle.Continue Reading
The ins and outs of low-code application testing
When teams use low-code for application development, it can save time and money. But don't neglect testing for potential issues just to deploy the app sooner.Continue Reading
Smoke testing vs. sanity testing explainer on key differences
While smoke and sanity testing are both techniques QA professionals use to quickly identify feature defects, they differ when it comes to scope, automation requirements and timing.Continue Reading
How to scale Scrum with Scrum of Scrums meetings
Enterprise-scale software development can be difficult to coordinate across multiple teams. For Agile-adhering IT organizations, Scrum of Scrums is one way to stay organized.Continue Reading
How software testing affects a successful multi-cloud strategy
Here's how QA professionals working with multi-cloud can deal with the increased complexity associated with the strategy, plus the risks and workflow factors.Continue Reading
LDAP injection
LDAP (Lightweight Directory Access Protocol) injection is a type of security exploit that is used to compromise the authentication process used by some websites.Continue Reading
application lifecycle management (ALM)
Application lifecycle management (ALM) is an integrated system of people, tools and processes that supervise a software application from its initial planning and development, through testing and maintenance, and into decommissioning and retirement.Continue Reading
The fundamentals of writing effective acceptance criteria
Acceptance criteria plays a key role in shaping an application from the user standpoint. We review some of the basic things to remember when it comes to acceptance criteria.Continue Reading
development environment
In software, web and mobile application development, the development environment is a workspace with a set of processes and programming tools used to develop the source code for an application or software product.Continue Reading
Capability Maturity Model (CMM)
The Capability Maturity Model (CMM) is a methodology used to develop and refine an organization's software development process.Continue Reading
Developer vs. DevOps engineer similarities and differences
What does a DevOps engineer do? What does a developer do? The two roles sound alike, but their roles, skills and tools are quite different and require unique expertise.Continue Reading
Why a successful software tester's skillset is more than just technical
How can you become a good software tester? It requires more than just technical expertise. Here are some important personality traits QA pros need to have.Continue Reading
release
A release is the distribution of the final version or the newest version of a software application.Continue Reading
What is user acceptance testing (UAT)?
User acceptance testing (UAT), also called application testing or end-user testing, is a phase of software development in which the software is tested in the real world by its intended audience.Continue Reading
build
In a programming context, a build is a version of a program that, as a rule, is a pre-release version and is identified by a build number rather than by a release number.Continue Reading
Understanding code smells and how refactoring can help
Code smells can be the canary in the coal mine for poor coding. And poor coding is a sign that refactoring is called for. Let's explore how to look at and deodorize code smells.Continue Reading
Follow this Harness IO tutorial to get started with CI/CD
This tutorial gives an overview of the options and features available to users of Harness IO and walks through how to build and ship code in the CI/CD platform.Continue Reading
Open Web Application Security Project (OWASP)
The Open Web Application Security Project (OWASP) is a nonprofit foundation that provides guidance on how to develop, purchase and maintain trustworthy and secure software applications.Continue Reading
Hypertext Transfer Protocol Secure (HTTPS)
Hypertext Transfer Protocol Secure (HTTPS) is a protocol that secures communication and data transfer between a user's web browser and a website.Continue Reading
software documentation
In the software development process, software documentation is the information that describes the product to the people who develop, deploy and use it.Continue Reading
versioning
Versioning is the creation and management of multiple releases of a product, all of which have the same general function, but are improved, upgraded or customized.Continue Reading
best practice
A best practice is a standard or set of guidelines that is known to produce good outcomes if followed.Continue Reading
whole-team approach (team-based approach)
The whole-team approach (team-based approach) is a style of project management in which everyone on the project team is held equally responsible for the quality and success of the project.Continue Reading
artifact (software development)
An artifact is a byproduct of software development that helps describe the architecture, design and function of software.Continue Reading
application security
Application security, or appsec, is the practice of using security software, hardware, techniques, best practices and procedures to protect computer applications from external security threats.Continue Reading
iterative
In the world of IT and computer programming, the adjective iterative refers to a process where the design of a product or application is improved by repeated review and testing.Continue Reading
Software Process Improvement and Capability Determination (SPICE)
Software Process Improvement and Capability Determination (SPICE) is an international framework to assess software development processes.Continue Reading
bug
In computer technology, a bug is a coding error in a computer program.Continue Reading
Lean software development
Lean software development is a concept that emphasizes optimizing efficiency and minimizing waste in the development of software.Continue Reading
runtime
Runtime is a piece of code that implements portions of a programming language's execution model.Continue Reading
Gantt chart
A Gantt chart is a horizontal bar chart developed as a production control tool in 1917 by Henry L. Gantt, an American engineer and social scientist.Continue Reading
Why chaos engineering isn't as chaotic as it sounds
Don't let the name fool you. SSQ editors chatted with author Mikolaj Pawlikowski about why chaos engineering can be easily implemented into your testing environment.Continue Reading
program
In computing, a program is a specific set of ordered operations for a computer to perform.Continue Reading
Scrum
Scrum is a framework for project management that emphasizes teamwork, accountability and iterative progress toward a well-defined goal.Continue Reading
An introduction to TDD benefits, risks and examples
Programmers, looking to implement -- or improve -- your team's TDD practices? Review the fundamentals and examples below to remember how TDD can be a benefit and not a burden.Continue Reading
Agile retrospective
An Agile retrospective is a meeting that's held at the end of an iteration in Agile software development.Continue Reading
What is behavior-driven development (BDD)?
Behavior-driven development (BDD) is an Agile software development methodology in which an application is documented and designed around the behavior a user expects to experience when interacting with it.Continue Reading
cookie
A cookie is information that a website puts on a user's computer.Continue Reading
Basics of SaaS testing, challenges and strategies
With the software-as-a-service model, QA professionals must address particular test challenges and criteria. Let's look at those SaaS issues and the strategies to navigate them.Continue Reading
An introductory guide to mobile app security testing
Secure mobile apps by engineering security right into the software and with thorough mobile app security testing. Here's what risks to look for, processes to use and tools to adopt.Continue Reading
pair programming
Pair programming is an Agile software development technique originating from Extreme programming (XP) in which two developers team together and work on one computer.Continue Reading
How to build a CI/CD pipeline with Azure and GitHub
Some organizations need to build and deploy apps to specific cloud platforms. This walkthrough shows you step by step how to create a CI/CD pipeline using GitHub and Azure DevOps.Continue Reading
reverse-engineering
Reverse-engineering is the act of dismantling an object to see how it works.Continue Reading
How to use mind maps for software testing
Mind mapping is a visual way to brainstorm test ideas. Learn how to create and use mind maps to improve software quality.Continue Reading
How software testing certifications can boost your career
How can software testing certifications give QA professionals a leg up in their careers? Learn how in this overview, as well as what certification types testers should consider.Continue Reading
The 3 essential Scrum team roles
Every successful Scrum team needs a product owner, a Scrum Master and developers. Here's why each role is essential and how effective collaboration between the three happens.Continue Reading
A production readiness checklist for software development
To achieve a smooth release cycle that can uncover potential glitches, an enterprise needs software release criteria that involve members of the dev, ops and business teams.Continue Reading
Overview of the problems automatic code generation can solve
Explore the ins and outs, pros and cons, and dos and don'ts of automatic code generation.Continue Reading
An Eggplant automation tool tutorial for Functional, DAI
Eggplant Functional and DAI are two popular tools in the testing community. This video demonstrates how to install the tools and integrate them with the agent feature.Continue Reading
How to write a good user story for cleaner code
A good user story isn't always easy to write. Answer key questions in easily understandable language to get development teams on the same page.Continue Reading
Review these 9 low-code use cases and industry examples
Don't get hung up on the basics of low-code and your development teams' makeup. Evaluate the following use cases to see if low-code makes sense for your project goals.Continue Reading
How to test connected car applications
When software testers deal with automobile-connected applications, they should think like a driver. Evaluate safety, connectivity and usability concerns to develop a strong app.Continue Reading
How to write test cases for both manual and automated tests
Immerse yourself in the basics -- and particulars -- of writing test cases for both manual and automated tests, and learn the components crucial to each approach.Continue Reading
The main types of database testing explained
Most software testers know about ACID for database testing. But the importance of databases means software teams should perform functional and nonfunctional testing in addition to verifying ACID adherence.Continue Reading
How to plan unit test coverage
Explore what an effective unit testing strategy looks like, whether it's wise to aim for a certain percentage of test coverage and how much unit testing is enough.Continue Reading
How to performance test big data applications
When it comes to testing big data applications, there's a lot to consider and potentially be overwhelmed by. Here's how testers can keep their heads above water.Continue Reading
A guide to testing in DevOps and key strategies, practices
Here's why testers and testing are such big parts of DevOps, and some ways to further incorporate testing for better software application development.Continue Reading
How to use Agile swarming techniques to get features done
Agile teams can produce a viable product in no time when they swarm, but this all-hands approach to produce a user story or feature isn't easy.Continue Reading
Report testing checklist: Perform QA on data analysis reports
To incorporate data analysis features into software, fully test the reports they generate. Use this checklist to cover these reports' requirements, the test environment, APIs and test data.Continue Reading
Inside 5 types of test doubles
Spies, fakes and other nefarious-sounding test objects are actually beneficial to development teams. Learn about the five primary types of test doubles and when to use them.Continue Reading
How to make remote pair programming work
Two heads are better than one when you're writing software code. Learn how to get those two developers working together from separate locations in a remote pair programming session.Continue Reading
How to test micro apps
Micro apps are limited in functionality, but they still require a full slate of tests. Learn how micro apps and microservices differ, the benefits driving micro app adoption, and how to test them.Continue Reading
Basics of the pairwise, or all-pairs, testing technique
Pairwise testing can improve test coverage without increasing wait times. Consider the QA technique's benefits, challenges and role within a test suite.Continue Reading
Harness these three types of developer collaboration tools
More than ever, developers must work as a team to achieve business goals. Here are three types of collaboration tools to help developers work with ease.Continue Reading