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

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 ...
Teaching: A formal process of bringing about awareness, conferring knowledge and instilling skills. Teaching focuses on knowledge. Training: Prepares an individual or group to execute a skill. The focus of training is skill development.
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” ...
Artificial Intelligence is here. AI is already being used in development, testing, tool development, and products. Its use will undoubtedly grow and become more pervasive. At LogiGear Magazine we regularly include a glossary of terms on the issue topic. In this issue, the glossary is unique. If you are just beginning to learn about AI ...
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 ...
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 ...
Platform – A computing platform includes a hardware architecture and a software framework (including application frameworks), where the combination allows software, particularly application software, to run. Typical platforms include a computer architecture, operating system, programming languages, related user interface and tools. For example, Android, the most common mobile platform, is Google’s open and free software ...
Tcl/Tk Language Tcl (Tool Command Language) is a very powerful but easy to learn dynamic programming language, suitable for a very wide range of uses, including web and desktop applications, networking, administration, testing and many more. Open source and business-friendly, Tcl is a mature yet evolving language that is truly cross platform, easily deployed and ...
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 ...
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 ...
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 encourages ...
Mobility While mobile usually refers to mobile device, mobile apps, mobile platform. Mobility is a term describing not only the device but access for employees accessing corporate data from any location, cloud storage and cloud API services, mobile context awareness, integration with a variety of Internet of Things devices. It’s access to the data, products, and ...

Leave a Reply

Your email address will not be published.

Stay in the loop with the lastest
software testing news

Subscribe