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.
Continuous Testing (CT)
Continuous testing was originally proposed as a way of reducing waiting time for feedback to developers by introducing development environment-triggered tests as well as the more traditional developer/tester-triggered tests. Continuous testing is the process of executing automated tests as part of the software delivery pipeline to obtain immediate feedback on the business risks associated with a software release candidate. For Continuous Testing, the scope of testing extends from validating bottom-up requirements or user stories to assessing the system requirements associated with overarching business goals.
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.
The term derived from the words “Development” and “Operations”.
The study of algorithms and mathematical models that computer systems use to progressively improve their performance on a specific task. Most machine learning systems are based on neural networks or sets of layered algorithms whose variables can be adjusted via a learning process
Still, in its infancy, self-healing tests, are largely where test automation and artificial intelligence converge.] This is where artificial intelligence can try and learn whether a change to the website you are testing that has caused your test to fail is something that is expected. If it is identified as an expected change, the artificial intelligence will then automatically modify your code to fix the problem.
A list of terms that you'd easily encounter on your way to experience Software Testing, Software Development, and other IT concepts.
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.
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 ...
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.
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.
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” ...
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 ...
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 ...
Extreme Programming (XP) XP is a software development methodology which is intended to improve software quality and responsiveness to changing customer cycles. A type of Agile software development, it advocates frequent “releases” in short development cycles, which is intended to improve productivity and introduce checkpoints at which new customer requirements can be adopted. Source: https://en.wikipedia.org/wiki/Extreme_programming ...
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 ...
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 ...
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 ...