27 February 2007

🌁Software Engineering: Service Orchestration (Definitions)

"A way of aggregating services to business processes. In contrast to choreography, orchestration composes services to a new service that has central control over the whole process." (Nicolai M Josuttis, "SOA in Practice", 2007)

"A business uses orchestration in order to define the electronic message interaction with other business partners in order to fulfill its obligations." (Christoph Bussler, "Business-to-Business (B2B) Integration", 2009)

"It is a service composition paradigm where the execution of subordinate services is coordinated in a centralized fashion. It is often referred to as a concrete service composition, which can be executed by a service engine or container." (Carlos Kamienski et al, "Managing the Future Internet: Services, Policies and Peers", 2010)

"Orchestration defines the local behavior of a component. We use UML activity diagrams to specify orchestration models." (Surya B Kathayat, "Collaboration-Based Model-Driven Approach for Business Service Composition", 2012)

The process that governs the creation, instantiation, and composition of the different elements a service consists of. It includes a coordinated set actions at several supporting infrastructures (computing, storage, network…) and layers (local and WAN network)" (Diego R López & Pedro A. Aranda, "Network Functions Virtualization: Going beyond the Carrier Cloud", 2015)

"The logic behind the cloud that provides the services. Typically broken into Brokerage or cross cloud orchestration, service orchestration (or workflow orchestration), software orchestration (which coordinates the build of software on a platform) and infrastructure orchestration (which coordinates the build of the cloud resources for compute, network and storage that provides the platform)." (Richard Ehrhardt, "Cloud Build Methodology", 2017)

"Coordination of systems and actions that permit the instantiation of functions and/or the control and allocation of resources in order to compose a network service." (Luis Contreras, "Slicing Challenges for Operators", 2019)

"It defines the service collaboration at business process level." (Laura C Rodriguez-Martinez et al, "Service-Oriented Computing Applications (SOCA) Development Methodologies: A Review of Agility-Rigor Balance", 2021)

"The action of mixing totally different technologies and connecting security tools that cowl each security-specific and non-security facet, so as to form them cable to figure along and improve response to cyber-attacks." (Heru Susanto et al, "Data Security for Connected Governments and Organisations: Managing Automation and Artificial Intelligence", 2021)

"The automation and provisioning of network services to create the best user experience." (Forrester)

26 February 2007

🌁Software Engineering: Service Choreography (Definitions)

"A way of aggregating services to business processes. In contrast to orchestration, choreography does not compose services to a new service that has central control over the whole process. Instead, it defines rules and policies that enable different services to collaborate to form a business process. Each service involved in the process sees and contributes only a part of it." (Nicolai M Josuttis, "SOA in Practice", 2007)

"An a priori global and public model meant to capture all the interactions taking place for a given purpose among a number of participants." (Giorgio Bruno & Marcello La Rosa, "Collaboration Based on Web Services", 2008)

"Choreography is the message exchange behavior that a business exposes in order to participate in a business relationship based on electronic message exchanges." (Christoph Bussler, "Business-to-Business (B2B) Integration", 2009)

"It is a service composition paradigm where no centralized entity is responsible for coordinating the execution of the subordinate services. It is often seen as an abstract service composition since it defines cooperation (e.g., message exchanging) rules but no actual execution flow." (Carlos Kamienski et al, "Managing the Future Internet: Services, Policies and Peers", 2010)

[Web Service Choreography:] "A particular web service composition where several peer web services collaborate in a distributed environment. In a choreography there is not a services acting as a leader and synchronizing the work of the other services, as happen in case of orchestration. This makes choreography more difficult to realize in real settings." (Liliana Ardissono et al, "An Event-Based Middleware for the Management of Choreographed Services", 2012)

"Contract between two or more systems, which establishes how they cooperate to achieve some common goal." (José C Delgado, "Frameworks for Distributed Interoperability", Encyclopedia of Information Science and Technology, 2015)

"Global behavior is called choreography. Choreography is specified using UML activity diagrams. We have used two levels of choreography models: flow-global and flow-localized." (Surya B Kathayat, "Collaboration-Based Model-Driven Approach for Business Service Composition", 2012)

"Define the service collaboration at service-computing level." (Laura C Rodriguez-Martinez et al, "Service-Oriented Computing Applications (SOCA) Development Methodologies: A Review of Agility-Rigor Balance", 2021)

"Defines the requirements and sequences through which multiple Web services interact." (NIST SP 800-95)

🌁Software Engineering: Component (Definitions)

"An application-level software unit supported by a container. Components are configurable at deployment time. The J2EE platform defines four types of components: enterprise beans, Web components, applets, and application clients." (Kim Haase et al, "The J2EE™ Tutorial", 2002)

"A single part in a subassembly, subsystem, or system. An example is a stamped metal part before it has anything assembled to it." (Clyde M Creveling, "Six Sigma for Technical Processes: An Overview for R Executives, Technical Leaders, and Engineering Managers", 2006)

"A software architecture developed by Microsoft to build component-based applications. COM is used to communicate between components on the same computer. It’s part of a strategic building-block approach for developing application programs." (Evan Levy & Jill Dyché, "Customer Data Integration", 2006)

"A single part in a subassembly, subsystem or system. An example would be a stamped metal part prior to having anything assembled to it." (Lynne Hambleton, "Treasure Chest of Six Sigma Growth Methods, Tools, and Best Practices", 2007)

"A subassembly or piece/part used in a product that allows a product to achieve the desired level of functionality. A fuel injector is a component used in an automobile engine." (Steven Haines, "The Product Manager's Desk Reference", 2008)

"A metasubtype of class; a large-scale class that contains internal parts and provides services via a well-defined interface." (Bruce P Douglass, "Real-Time Agility: The Harmony/ESW Method for Real-Time and Embedded Systems Development", 2009)

"A piece of computer software that can be used as a building block in larger systems. Components can be parts of business applications that have been made accessible through Web Service related standards and technologies, such as WSDL, SOAP, and XML. See WSDL, SOAP, and XML." (Judith Hurwitz et al, "Service Oriented Architecture For Dummies 2nd Ed.", 2009)

"For our purposes, an aggregation of cohesive types that expose services through well-defined abstractions, while encapsulating implementation details and minimizing coupling to other components. (There is a wide-range of definitions for component in computer science and industry.)" (Dean Wampler & Alex Payne, "Programming Scala", 2009)

"(1) A minimal software item that e.g. can be tested in isolation. (2) A component is a potential, or actual, part of some larger system, or specification [TGilb]." (International Qualifications Board for Business Analysis, "Standard glossary of terms used in Software Engineering", 2011)

"1.A discrete object or entity that is a part of a larger system." (DAMA International, "The DAMA Dictionary of Data Management", 2011)

"A program object similar to a control, but without a visible presence on the form at run time." (Rod Stephens, "Start Here! Fundamentals of Microsoft® .NET Programming", 2011)

"A programming entity similar to a control except it has only code and doesn't have a visible appearance on the screen. You still place it on a form at design time, however, and the program's code can interact with it." (Rod Stephens, "Stephens' Visual Basic® Programming 24-Hour Trainer", 2011)

"A discrete piece of content that is about a specific subject, has an identifiable purpose, and can stand alone. Components can be reused multiple times in multiple information products." (Charles Cooper & Ann Rockley, "Managing Enterprise Content: A Unified Content Strategy, 2nd Ed.", 2012)

"A piece of computer software that can be used as a building block in larger systems. Components can be parts of business applications that have been made accessible through web service–related standards and technologies, such as WSDL, SOAP, and XML." (Marcia Kaufman et al, "Big Data For Dummies", 2013)

"1. A minimal software item that has its own specification or that can be tested in isolation.  2. A software unit that fulfills the implementation standards of a component model (EJB, CORBA, .NET)." (Tilo Linz et al, "Software Testing Foundations, 4th Ed", 2014)

"An identifiable element within the program or project that provides a particular function or group of related functions." (Project Management Institute, "Navigating Complexity: A Practice Guide", 2014)

"A constituent part, element, or piece of a complex whole." (Project Management Institute, "Practice Standard for Scheduling" 3rd Ed., 2019)

"A minimal software item that can be tested in isolation." (SQA)

"General term referring to one part of something more complex" (ITIL)

25 February 2007

🌁Software Engineering: Reverse Engineering (Definitions)

"The process of analyzing a subject system with two goals in mind: (1) to identify the system’s components and their interrelationships; and, (2) to create representations of the system in another form or at a higher level of abstraction." (Margaret Y Chu, "Blissful Data ", 2004)

"The construction of a model from a set of source code files." (Bruce P Douglass, "Real-Time Agility: The Harmony/ESW Method for Real-Time and Embedded Systems Development", 2009)

"The process of transforming the physical schema of any particular database into a logical model. Data modeling CASE tools have facilities for reverse engineering." (Paulraj Ponniah, "Data Warehousing Fundamentals for IT Professionals", 2010)

"The process of deriving a draft physical model representing an implemented system (application and/or database) from automated scanning of the implemented application and database objects, as a first step towards redesign." (DAMA International, "The DAMA Dictionary of Data Management", 2011)

"The process of taking a competitor's product apart and putting it back together again to better understand the manufacturing process and the product design." (Leslie G Eldenburg & Susan K Wolcott, "Cost Management" 2nd Ed., 2011)

🌁Software Engineering: Peer Review (Definitions)

"The review of work products performed by peers during development of the work products to identify defects for removal. The term peer review is used in the CMMI Product Suite instead of the term work product inspection. Essentially, these terms mean the same thing." (Sandy Shrum et al, "CMMI®: Guidelines for Process Integration and Product Improvement", 2003)

"A formal review of a complete work product performed by a group to identify defects for removal, and to collect metrics." (Richard D Stutzke, "Estimating Software-Intensive Systems: Projects, Products, and Processes", 2005)

"A system using reviewers who are professional equals; a process used for checking the work performed by one’s equals (peers) to ensure that it meets specific criteria." (Mark S Merkow & Lakshmikanth Raghavan, "Secure and Resilient Software Development", 2010)

"In relation to internal audit, a form of external assessment that involves a minimum of three organizations assessing each other's internal audit functions using a round-robin approach (A reviews B who reviews C who reviews A)." (Sally-Anne Pitt, "Internal Audit Quality", 2014)

"A review of a software work product by colleagues of the producer of the product for the purpose of identifying defects and improvements. Examples are inspection, technical review and walkthrough." (IQBBA)

🌁Software Engineering: Review (Definitions)

"A process or meeting during which a work product or set of work products is presented to stakeholders for verification or approval." (Richard D Stutzke, "Estimating Software-Intensive Systems: Projects, Products, and Processes", 2005)

[formal review:] "A formal meeting at which work products are presented to the end user, customer, or other interested parties (stakeholders) for comment and approval. It can also review technical activities and project status." (Richard D Stutzke, "Estimating Software-Intensive Systems: Projects, Products, and Processes", 2005)

"Formal check of an object (e.g., document or code) against specifications and applicable guidelines, performed by reviewers. The aim is to identify defects, weaknesses, or gaps of the review object, to comment, document, and determine the object’s expected capability level." (Lars Dittmann et al, "Automotive SPICE in Practice", 2008)

"(1) Measuring, analyzing, checking of one or several characteristics of a unit (the review object), and comparing with defined requirements in order to decide if conformance for every characteristic has been achieved. (2) Abstract term for all analytical quality assurance measures independent of method and object. (3) An evaluation of a product or project status to ascertain discrepancies of the planned work results from planned results and to recommend improvements. Reviews include management review, informal review, technical review, inspection, and walkthrough." (Tilo Linz et al, "Software Testing Foundations" 4th Ed., 2014)

"An activity undertaken to determine the suitability, adequacy and effectiveness of the subject matter to achieve established objectives." (David Sutton, "Information Risk Management: A practitioner’s guide", 2014)

"An evaluation of a product or project status to ascertain discrepancies from planned results and to recommend improvements. Examples include management review, informal review, technical review, inspection, and walkthrough." (IEEE 1028)

"evaluation of a change, process, project, etc. ß its purpose it to ensure that all deliverables has been provided and to identify opportunities for improvement" (ITIL)

[formal review:] "A review characterized by documented procedures and requirements, e.g. inspection." (IQBBA)

[informal review:] "A review not based on a formal (documented) procedure." (IQBBA)

🌁Software Engineering: Agile Method (Definitions)

"Project management methodology, in which the development is characterized by the breakdown of tasks into short periods, with frequent reassessment of work and plans." (Jurgen Janssens, "Managing Customer Journeys in a Nimble Way for Industry 4.0", 2019)

"An evolutionary and iterative approach to software development with focuses on adaptation to changes." (Shanmuganathan Vasanthapriyan & Kalpani M U Arachchi, "Effectiveness of Scrum and Kanban on Agile-Based Software Maintenance Projects", 2020)

"An evolutionary and iterative approach to software development with focuses on adaption to changes." (Kamalendu Pal & Bill Karakostas, "Software Testing Under Agile, Scrum, and DevOps", 2021)

"Project management methodology, in which the development is characterized by the breakdown of tasks into short periods, with frequent reassessment of work and plans." (Jurgen Janssens, "It's All About Creating Customer Value: Activating Engagement Through CRM-Driven Projects", 2021)

🌁Software Engineering: Event-Driven Architecture (Definition)

"A software architecture pattern promoting the production, detection, consumption of, and reaction to events. Some consider EDA to be an extension of or complement to SOA; others consider EDA to be part of the SOA approach (a special message exchange pattern where the service provider sends a message to multiple consumers)." (Nicolai M Josuttis, "SOA in Practice", 2007)

"An architectural style in which one or more components in a software system are event-driven and minimally coupled. 'Minimally coupled' means that the only relationship between the event producer and the event consumer is a one-way, “fire and forget” notification. The producer does not get a response associated with the notification back from the consumer, and a notification does not prescribe the action the consumer will perform. Something is event-driven without being EDA if it is not minimally coupled." (W Roy Schulte & K Chandy, "Event Processing: Designing IT Systems for Agile Companies", 2009)

"A software architecture pattern promoting the production, detection, consumption of, and reaction to events. " (David Lyle & John G Schmidt, "Lean Integration: An Integration Factory Approach to Business Agility", 2010)

"A design where various parts of the system respond to events as they occur." (Rod Stephens, "Beginning Software Engineering", 2015)

24 February 2007

🌁Software Engineering: Quality Assurance (Definitions)

"A planned and systematic means for assuring management that the defined standards, practices, procedures, and methods of the process are applied." (Sandy Shrum et al, "CMMI®: Guidelines for Process Integration and Product Improvement", 2003)

"(1) Activities to ensure that an item or work product conforms to established requirements and standards. Also called product assurance. (2) Activities to ensure that defined standards, procedures, and processes are applied." (Richard D Stutzke, "Estimating Software-Intensive Systems: Projects, Products, and Processes", 2005)

"A business function that is responsible for the (often statistically based) evaluation of how well a product conforms to requirements (according to the PRD) and specifications (according to the PSD)." (Steven Haines, "The Product Manager's Desk Reference", 2008)

"A process for evaluating project performance in relation to the specified standard of quality." (Bonnie Biafore, "Successful Project Management: Applying Best Practices and Real-World Techniques with Microsoft® Project", 2011)

"All activities within quality management focused on providing confidence that quality requirements are fulfilled." (Tilo Linz et al, "Software Testing Foundations" 4th Ed., 2014)

"Part of quality management focused on providing confidence that quality requirements will be fulfilled." (ISO 9000)


🌁Software Engineering: Kanban Board (Definitions)

"A big board. (See big board.) Typically, columns indicate each task’s status. Columns might be labeled Backlog, Ready, Coding, Testing, Approval, and Done. In some variations, rows indicate the person assigned to each task." (Rod Stephens, "Beginning Software Engineering", 2015)

"A visualization tool that enables improvements to the flow of work by making bottlenecks and work quantities visible." (PMI, "Practice Standard for Scheduling" 3rd Ed., 2019)

"A workflow and work visualization chart describing activities flow within a project, originally created in the 1940s by Toyota." (Miguel A Garcia-Ruiz et al, "A User Study of Virtual Reality for Visualizing Digitized Canadian Cultural Objects", 2019)

🌁Software Engineering: Kanban (Definitions)

"An agile methodology where a team member who finishes his current item takes the next highest priority item from the project’s backlog. Kanban seeks to restrict the amount of work in progress at any given time." (Rod Stephens, "Beginning Software Engineering", 2015)

"In software development, a method for developing software on a just-in-time basis. Kanban removes the scrum time boxed method to track work, which is useful when your development team members have specialized skills." (Pamela Schure & Brian Lawley, "Product Management For Dummies", 2017)

"Agile method to manage work by limiting work in progress. Team members pull work as capacity permits, rather than work being pushed into the process when requested. Stimulates continuous, incremental changes. Aims at facilitating change by minimizing resistance to it." (Jurgen Janssens, "Managing Customer Journeys in a Nimble Way for Industry 4.0", 2019)

"An agile method inspired by the original Kanban inventory control system and used specifically for knowledge work." (Project Management Institute, "Practice Standard for Scheduling"  3rd Ed., 2019)

"An agile process framework with a flow control mechanism used for just-in-time pull driven production where the upstream processing activities are started by the downstream process request signals." (Shanmuganathan Vasanthapriyan & Kalpani M U Arachchi, "Effectiveness of Scrum and Kanban on Agile-Based Software Maintenance Projects", 2020)

"A method in software development which considered as a system for visualizing work and converting it into flow to reduce waste time and maximizing customer value." (Fayez Salma & Jorge M Gómez, "Challenges and Trends of Agile", 2021)

🌁Software Engineering: Microservices (Definitions)

"In computing, a software architecture style in which complex applications are composed of small, independent processes communicating with each other using language-agnostic Application Programming Interface (API). These services are small and highly decoupled and focus on doing a small task." (Pierre Pureur & Murat Erder, "Continuous Architecture", 2015)

"Are an IT architectural pattern for decoupling dependencies between complex software applications and enabling independent processes that than work together through independent APIs." (Anna Wiedemann et al, "Transforming Disciplined IT Functions: Guidelines for DevOps Integration", 2021)

"It is a specific way of decomposition of services in a greater granularity. Also, microservice represents a capability of the business process in a lesser level of abstraction than a service, Then, a microservice is a service but with greater granularity or in a lesser level of abstraction." (Laura C Rodriguez-Martinez et al, "Service-Oriented Computing Applications (SOCA) Development Methodologies: A Review of Agility-Rigor Balance", 2021)

"A piece of code or complete application that does one thing and does it well." (Forrester)

"Microservices is both an approach to software architecture that builds a large, complex application from multiple small components which each perform a single function (such as authentication, notification, or payment processing) and the term for the small components themselves. Each microservice is a distinct unit within the software development project, with its own codebase, infrastructure, and database. The microservices work together, communicating through web APIs or messaging queues to respond to incoming events." (NGINX) [source

"Microservices refer to the thousands of independent web standards, programming languages, database platforms, and web server components that are found in the contemporary software development lifecycle as developer tools." (VMWare) [source]

"The microservices architecture is a design approach to build a single application as a set of small services. Each service runs in its own process and communicates with other services through a well-defined interface using a lightweight mechanism, typically an HTTP-based application programming interface (API). Microservices are built around business capabilities; each service is scoped to a single purpose." (Amazon) 

🌁Software Engineering: Software Engineering [SE] (Definitions)

"Software engineering is the establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines." (Peter Naur & Brian Randell, 1968)

“[Software engineering is the] establishment and use of sound engineering principles to obtain economically software that is reliable and works on real machines efficiently. (Friedrich Bauer, "Software Engineering", Information Processing, 1972) 

"(1) The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software. (2) The study of approaches as in (1)." (Sandy Shrum et al, "CMMI®: Guidelines for Process Integration and Product Improvement", 2003)

"(1) The disciplined and systematic application of methods, techniques, and tools to the development, operation, and maintenance of software and software-intensive systems. (2) The building of large, complex software-intensive systems by teams of engineers and programmers. (3) The study of the activities defined in (1) and (2)." (Richard D Stutzke, "Estimating Software-Intensive Systems: Projects, Products, and Processes", 2005)

"A discipline that advocates a systematic approach of developing high-quality software on a large-scale while taking into account the factors of sustainability and longevity, as well as, organizational constraints of time and resources." (Pankaj Kamthan, "Pair Modeling", 2008)

"Application of a systematic, disciplined, quantifiable approach to the development of Information Systems/Software." (Leonor Teixeira et al, "Web-Enabled System Design for Managing Clinical Information", 2008)

"Techniques, models, and processes to develop quality software" (M J Escalona & G Aragón, "The Use of Metamodels in Web Requirements to Assure the Consistence", 2008)

"To engineer the development of software comprises a rigorous analysis and design of the product, the application of formal methods in the development process an in the resulting product description, and modularization of the relevant parts of the software to allow for malleability and for reusability." (Alke Martens & Andreas Harrer, "Software Engineering in e-Learning Systems", 2008)

"It is the computer science discipline concerned with creating and maintaining software applications by applying technologies and practices from computer science, project management, engineering, application domains, and other fields." (Graciela D S Hadad & Jorge H Doorn, "Creating Software System Context Glossaries", 2009)

"Software engineering is a well-established discipline that groups together a set of techniques and methodologies for improving software quality and structuring the development process." (Ghita K Mostéfaoui, "Software Engineering for Mobile Multimedia: A Roadmap", 2009)

"The software engineering discipline covers the development of software systems. Software engineers focus on applying systematic, disciplined, and quantifiable approaches to the development, operation, and maintenance of software." (Rick Gibson, "Software and Systems Engineering Integration", 2009)

"A discipline that advocates a systematic approach of developing high-quality software on a large-scale while taking into account the factors of sustainability and longevity, as well as, organizational constraints of resources." (Pankaj Kamthan, "A Social Web Perspective of Software Engineering Education", 2010)

"Is a systematic and disciplined approach to developing software, which applies both computer science and engineering principles and practices to the creation, operation and maintenance of software systems." (Christian Scholz et al, "From the Lab to the Factory Floor: Engineering Software for Wireless Sensor Networks", 2012)

"Is the study and application of engineering to the design, development, and maintenance of software. In short, the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software." (Rosanna Costaguta, "Data Mining Applications in Computer-Supported Collaborative Learning", 2015)

"An engineering discipline that involves with all aspect of software development that applies engineering approaches in order to deliver high quality software products." (Seyed R Shahamiri, "The Challenges of Teaching and Learning Software Programming to Novice Students", 2018)

"The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software." (Tamer Abdou et al, "Developing a Glossary for Software Projects", Encyclopedia of Information Science and Technology, Fourth Edition, 2018)

"Software engineering is the discipline and best practices used in developing software." (Alex Thomas, "Natural Language Processing with Spark NLP", 2020)

"The application of engineering to the development of software in a systematic method." (Shanmuganathan Vasanthapriyan & Kalpani M U Arachchi, "Effectiveness of Scrum and Kanban on Agile-Based Software Maintenance Projects", 2020)

"The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches." (Antonio A M Costa, "Disciplined Teams vs. Agile Teams: Differences and Similarities in Software Development", 2021)

"The systematic application of engineering approaches to the development of software." (Jan Bosch et al, "Engineering AI Systems: A Research Agenda", 2021)

"It is the establishment and use of robust, targeted engineering principles to obtain economic, reliable, efficient software that satisfies the user needs." (Mirna Muñoz, "Boosting the Competitiveness of Organizations With the Use of Software Engineering", 2021)

"The application of engineering to the development of software in a systematic method." (Kamalendu Pal & Bill Karakostas, "Software Testing Under Agile, Scrum, and DevOps", 2021)

"The application and the study of systematic, disciplined, quantifiable approaches to the development, operation, and maintenance of software." (IEEE 610.12)

21 February 2007

🌁Software Engineering: Inspection (Definitions)

"Visual examination of work products to detect errors, violations of development standards, and other problems." (Richard D Stutzke, "Estimating Software-Intensive Systems: Projects, Products, and Processes", 2005)

"The process of examining a component, subassembly, subsystem, or product for off-target performance, variability, and defects during either product development or manufacturing. The focus is typically on whether the item under inspection is within the allowable tolerances. As with all processes, inspection itself is subject to variability, and out-of-spec parts or functions might pass inspection inadvertently." (Clyde M Creveling, "Six Sigma for Technical Processes: An Overview for R Executives, Technical Leaders, and Engineering Managers", 2006)

"A core technique in software quality assurance where a group of reviewers independently and systematically examine software artifacts to find defects. Inspections are highly effective where software testing is not possible, in particular, for textual specifications and design documents." (Frank Padberg, "Counting the Hidden Defects in Software Documents", 2010)

"Examining or measuring to verify whether an activity, component, product, result, or service conforms to specified requirements. " (Cynthia Stackpole, "PMP® Certification All-in-One For Dummies®", 2011)

"A type of review that relies on visual examination of documents to detect defects - for example, violations of development standards and nonconformance to higher-level documentation. Inspection is the most formal review technique and therefore always based on a documented procedure." (Tilo Linz et al, "Software Testing Foundations" 4th Ed., 2014)

"A verification method in which one member of a team reads the program or design aloud line by line and the others point out errors" (Nell Dale & John Lewis, "Computer Science Illuminated" 6th Ed., 2015)

"Examination of a work product to determine whether it conforms to documented standards." (Project Management Institute, "A Guide to the Project Management Body of Knowledge (PMBOK® Guide )", 2017)

 "A type of review that relies on visual examination of documents to detect defects, e.g. violations of development standards and non- conformance to higher level documentation. The most formal review technique and therefore always based on a documented procedure" (IEEE 610, IEEE 1028)

20 February 2007

🌁Software Engineering: Black-Box Testing (Definitions)

"A specification-based test that looks at a system or unit exclusively from the outside, that is, over its public interface;" (Johannes Link & Peter Fröhlich, "Unit Testing in Java", 2003)

"This test compares the externally observable behavior at the external software interfaces (without knowledge of their structure) with the desired behavior. Black-Box tests are frequently equated with »functional tests«, although they can of course also include non-functional tests. See also White-box test." (Lars Dittmann et al, "Automotive SPICE in Practice", 2008)

"A software testing methodology that looks at available inputs for an application and the expected outputs from each input." (Mike Harwood, "Internet Security: How to Defend Against Attackers on the Web" 2nd Ed., 2015)

"A test designed by someone who doesn’t know how the code works internally." (Rod Stephens, "Beginning Software Engineering", 2015)

"A testing technique that tests the functionality of the application under test without knowledge of the internal code structure, implementation details, and internal paths of the software." (Pooja Kaplesh & Severin K Y Pang, "Software Testing", Software Engineering for Agile Application Development, 2020)

"A method of software testing that examines the functionality of an application without peering into its internal structures or workings. This method of test can be applied to virtually every level of software testing: unit, integration, system and acceptance." (NIST SP 800-192)

"A test methodology that assumes no knowledge of the internal structure and implementation detail of the assessment object." (CNSSI 4009-2015)

[black-box test design technique:] "Procedure to derive and/or select test cases based on an analysis of the specification, either functional or non-functional, of a component or system without reference to its internal structure." (ISTQB)

"Testing, either functional or non-functional, without reference to the internal structure of the component or system." (ISTQB)

Related Posts Plugin for WordPress, Blogger...

About Me

My photo
Koeln, NRW, Germany
IT Professional with more than 24 years experience in IT in the area of full life-cycle of Web/Desktop/Database Applications Development, Software Engineering, Consultancy, Data Management, Data Quality, Data Migrations, Reporting, ERP implementations & support, Team/Project/IT Management, etc.