Intro to SW Test Automation
Today,‘Test automation’ is a much talked about topic in the world of software testing and quality. In this article Saket Godase discusses the basics of test automation. What is test automation? He looks at the types oftest automation and also discusses the various myths about test automation. An Introduction to Software Test Automation Abstract Thisarticle is an introduction to software test automation and will serveas a tutorial to the testers who are new to Test Automation. Software TestingThough there are many formal definitions of software testing it basically boils down to “Software testing is a process used to identify the correctness, completeness and quality of developed computer software.”In reality, testing can never establish the correctness of the software. Manual Testing –is defined as developing and executing tests that rely primarily ondirect human interaction throughout the entire test case, especially interms of evaluating correctness and ascertaining test status. 1. 2.
Software quality
Structural quality is evaluated through the analysis of the software inner structure, its source code, at the unit level, the technology level and the system level, which is in effect how its architecture adheres to sound principles of software architecture outlined in a paper on the topic by OMG.[2] In contrast, functional quality is typically enforced and measured through software testing. Historically, the structure, classification and terminology of attributes and metrics applicable to software quality management have been derived or extracted from the ISO 9126-3 and the subsequent ISO 25000:2005[3] quality model, also known as SQuaRE.[citation needed] Based on these models, the Consortium for IT Software Quality (CISQ) has defined five major desirable structural characteristics needed for a piece of software to provide business value: Reliability, Efficiency, Security, Maintainability and (adequate) Size. Motivation[edit] Definitions[edit] Software quality according to Deming[edit]
Certifying Software Testers Worldwide - ISTQB® International Software Testing Qualifications Board
Model-based testing
General model-based testing setting Model-based testing is application of model-based design for designing and optionally also executing artifacts to perform software testing or system testing. Models can be used to represent the desired behavior of a System Under Test (SUT), or to represent testing strategies and a test environment. The picture on the right depicts the former approach. A model describing a SUT is usually an abstract, partial presentation of the SUT's desired behavior. Tests can be derived from models in different ways. Because test suites are derived from models and not from source code, model-based testing is usually seen as one form of black-box testing. Model-based testing for complex software systems is still an evolving field. Models[edit] Especially in Model Driven Engineering or in Object Management Group's (OMG's) model-driven architecture, models are built before or parallel with the corresponding systems. Deploying model-based testing[edit] Theorem proving[edit]
Cuke4Ninja: The Secret Ninja Cucumber Scrolls | Cucumber | Gherkin | Agile Acceptance Testing | Behaviour Driven Development
Test-driven development
Test-driven development (TDD) is a software development process that relies on the repetition of a very short development cycle: requirements are turned into very specific test cases, then the software is improved to pass the new tests, only. This is opposed to software development that allows software to be added that is not proven to meet requirements. American software engineer Kent Beck, who is credited with having developed or "rediscovered"[1] the technique, stated in 2003 that TDD encourages simple designs and inspires confidence.[2] Test-driven development is related to the test-first programming concepts of extreme programming, begun in 1999,[3] but more recently has created more general interest in its own right.[4] Programmers also apply the concept to improving and debugging legacy code developed with older techniques.[5] Test-driven development cycle[edit] A graphical representation of the test-driven development lifecycle 1. 2. 3. 4. 5. Repeat Development style[edit]
Software QA and Testing Resource Center
Session-based testing
Session-based testing is a software test method that aims to combine accountability and exploratory testing to provide rapid defect discovery, creative on-the-fly test design, management control and metrics reporting. The method can also be used in conjunction with scenario testing. Session-based testing was developed in 2000 by Jonathan and James Bach. Session-based testing can be used to introduce measurement and control to an immature test process and can form a foundation for significant improvements in productivity and error detection. Session-based testing can offer benefits when formal requirements are not present, incomplete, or changing rapidly. Elements of session-based testing[edit] Mission[edit] The mission in Session Based Test Management identifies the purpose of the session, helping to focus the session while still allowing for exploration of the system under test. Charter[edit] A charter is a goal or agenda for a test session. Session[edit] Session report[edit] Debrief[edit]