Glossary: December Issue of the Magazine

A list of terms that are either found in the articles of the December 2015 edition, or are related to concepts relevant to those articles.

Action Based Testing (ABT)

A refinement of the keyword-driven test approach that provides a powerful framework for organizing test design, automation and execution around keywords. In ABT, keywords are called “actions”. Actions are the tasks that are executed during a test. Rather than automating an entire test as one long script, tests are assembled using individual actions. Unlike traditional test design, which begins with a written narrative that must be interpreted by each tester or automation engineer, ABT test design takes place in a spreadsheet format called a test module. Actions, test data and any necessary GUI interface information are stored in separate files and referenced by the main test module.

Behavior Driven Development (BDD)

A software development methodology in which an application is specified and designed by describing how its behavior should appear to an outside observer. BDD combines the general techniques and principles of test-driven development (TDD) with ideas from domain-driven design and object-oriented analysis and design to provide software development and management teams with shared tools and a shared process to collaborate on software development. BDD offers the ability to enlarge the pool of input and feedback to include business stakeholders and end users who may have little software development knowledge. Because of this expanded feedback loop, BDD works well in continuous integration and continuous delivery environments.

Source: SearchSoftwareQuality

Concurrency

Concurrency refers to multiple things happening at the same time. In testing, it’s all about the fact that your web application, mobile application, etc., may be required, in a real world setting, to respond to multiple demands occurring in parallel. Load testing is the method by which we test to ensure that an application, and the resources it has to work with, is equipped to handle the level of concurrency that it can expect to find in the field.

Continuous Integration (CI)

A software engineering practice in which the changes made by developers to working copies of code are added to the mainline code base on a frequent basis, and immediately tested. The goal is to provide rapid feedback so that, if a defect is introduced into the mainline, it can be identified quickly and corrected as soon as possible. Continuous integration software tools are often used to automate the testing and build a document trail. Because CI detects deficiencies early on in development, defects are typically smaller, less complex, and easier to resolve. In the end, well-implemented CI reduces the cost of software development and helps speed time to market.

Source: SearchSoftwareQuality

DevOps

(Term derived from the words “Development” and “Operations”) A software development practice, grounded in agile philosophy, that emphasizes close collaboration between an organization’s software developers and other IT professionals, while automating the process of software delivery and infrastructure changes. It aims at establishing a culture and organizational workflow in which building, testing, and releasing software happens rapidly, frequently, and more reliably.

Source: Wikipedia

Domain language

(Also referred to as domain-specific language) A computer language tailored for a specific application or discipline (domain). In automated testing, for example, the keyword-driven approach, such as that which is implemented by LogiGear’s TestArchitect automation tool, allows teams to develop their own customized domain languages. Such languages allow for easier implementation of testing scenarios, and aid in communication between organizational teams.

Refactoring

The process of restructuring existing computer code without changing its external behavior. From a functional standpoint (or at least from the standpoint of satisfying existing specifications) code refactoring should be transparent. Instead, it is the nonfunctional attributes of the software that are improved. Code refactoring is considered a form of “hygiene”, the advantages of which include improved readability and reduced complexity. These in turn can improve source code maintainability and create a more expressive internal architecture or object model to improve extensibility. If done well, code refactoring may also resolve hidden, dormant, or undiscovered computer bugs or vulnerabilities in the system by simplifying the underlying logic and eliminating unnecessary levels of complexity.

Source: Wikipedia

LogiGear Corporation

LogiGear Corporation provides global solutions for software testing, and offers public and corporate software-testing training programs worldwide through LogiGear University. LogiGear is a leader in the integration of test automation, offshore resources and US project management for fast and cost-effective results. Since 1994, LogiGear has worked with hundreds of companies from the Fortune 500 to early-stage startups, creating unique solutions to exactly meet their needs. With facilities in the US and Vietnam, LogiGear helps companies double their test coverage and improve software quality while reducing testing time and cutting costs.

For more information, contact Joe Hughes + 01 650.572.1400

LogiGear Corporation
LogiGear Corporation provides global solutions for software testing, and offers public and corporate software testing training programs worldwide through LogiGear University. LogiGear is a leader in the integration of test automation, offshore resources and US project management for fast, cost-effective results. Since 1994, LogiGear has worked with Fortune 500 companies to early-stage start-ups in, creating unique solutions to meet their clients’ needs. With facilities in the US and Viet Nam, LogiGear helps companies double their test coverage and improve software quality while reducing testing time and cutting costs.

The Related Post

Cloud Computing: Cloud computing is a concept used to describe a variety of computing concepts that involve a large number of computers connected through a real-time communication network such as the Internet. In science, cloud computing is a synonym for distributed computing over a network, and means the ability to run a program or application on many connected computers at the ...
Scrum Board A Scrum Board is a tool that helps Teams make Sprint Backlog items visible. The board can take many physical and virtual forms but it performs the same function regardless of how it looks. The board is updated by the Team and shows all items that need to be completed for the current ...
ACID Properties In computer science, ACID (atomicity, consistency, isolation, durability) is a set of properties of database transactions intended to guarantee data validity despite errors, power failures, and other mishaps. In the context of databases, a sequence of database operations that satisfies the ACID properties (which can be perceived as a single logical operation on ...
Lean Defining Lean Software Development is challenging because there is no specific Lean Software Development method or process. Lean is not an equivalent of Personal Software Process, V-Model, Spiral Model, EVO, Feature-Driven Development, Extreme Programming, Scrum, or Test-Driven Development. A software development lifecycle process or a project management process could be said to be “lean” ...
ALM (Application Lifecycle Management): A continuous process of managing the life of an application through governance, development and maintenance. ALM is the marriage of business management to software engineering made possible by tools that facilitate and integrate requirements management, architecture, coding, testing, tracking, and release management. Source Control: There are many source control tools, and ...
Alexa Voice Service (AVS):  Amazon’s service offering for a voice controlled AI assistant. Offered in different products. Source: https://whatis.techtarget.com/definition/Alexa-Voice-Services-AVS Blockchain Infrastructure: A complex, decentralized architecture that orchestrates many systems running asynchronously over the internet in order to create a secured database that records sensitive data of certain users into forms of transactions, Source: https://blockgeeks.com/guides/what-is-blockchain-technology/ Chatbot: ...
Code Current The ability to install, implement, and successfully get the latest version of software to work. Source: LogiGear Continuous Delivery The ability to get changes of all types—including new features, configuration changes, bug fixes and experiments—into production, or into the hands of users, safely and quickly in a sustainable way. Source: Continuous Delivery DevOps ...
Continuous Integration/Continuous Delivery (CI/CD) Continuous integration and continuous deployment merge development with testing, allowing developers to build code collaboratively, submit it to the master branch, and check for issues. Source Digital Modernization Digital modernization is the adoption of new technology. It involves upgrading systems, platforms and software to meet today’s modern needs. Source Digital Transformation ...
Check out the glossary for definitions on testing essentials, and DevOps related terms. Action Based Testing (ABT) A modular-design and action-driven test method that provides a systematic approach to increase the success of automated testing. Modular-design addresses the challenges of test planning and test case management through efficient test organization. Action-driven test development eliminates the ...
Some Mobile Device Input Methods Swipe/Swype: An action taken on a device’s screen that involves translational movement of touch points. A swipe recognizer makes an instantaneous decision as to whether the user’s touches moved linearly in the required direction.
Closed System – In the context of embedded systems this relates closely to the engineering context where every input and every response (or output) can be known and can include a specific time. In addition the software is purposely designed for restricted access.
Agile – Characterized by quickness, lightness, and ease of movement; nimble. Not necessarily characterized by fast speed. Agile software development is a software development practice based on iterative and incremental development where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. It promotes adaptive planning, evolutionary development and delivery, a time-boxed iterative approach, and ...

Leave a Reply

Your email address will not be published. Required fields are marked *

Stay in the loop with the lastest
software testing news

Subscribe