Exploratory Testing
   HOME





Exploratory Testing
Exploratory testing is an approach to software testing that is concisely described as simultaneous learning, test design and test execution. Cem Kaner, who coined the term in 1984, defines exploratory testing as "a style of software testing that emphasizes the personal freedom and responsibility of the individual tester to continually optimize the quality of his/her work by treating test-related learning, test design, test execution, and test result interpretation as mutually supportive activities that run in parallel throughout the project." While the software is being tested, the tester learns things that together with experience and creativity generates new good tests to run. Exploratory testing is often thought of as a black box testing technique. Instead, those who have studied it consider it a test ''approach'' that can be applied to any test technique, at any stage in the development process. The key is not the test technique nor the item being tested or reviewed; the key i ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Software Testing
Software testing is the act of checking whether software satisfies expectations. Software testing can provide objective, independent information about the Quality (business), quality of software and the risk of its failure to a User (computing), user or sponsor. Software testing can determine the Correctness (computer science), correctness of software for specific Scenario (computing), scenarios but cannot determine correctness for all scenarios. It cannot find all software bug, bugs. Based on the criteria for measuring correctness from an test oracle, oracle, software testing employs principles and mechanisms that might recognize a problem. Examples of oracles include specifications, Design by Contract, contracts, comparable products, past versions of the same product, inferences about intended or expected purpose, user or customer expectations, relevant standards, and applicable laws. Software testing is often dynamic in nature; running the software to verify actual output ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Test Method
A test method is a method for a test in science or engineering, such as a physical test, chemical test, or statistical test. It is a specified procedure that produces a test result. To ensure accurate and relevant results, a test method should be "explicit, unambiguous, and experimentally feasible.", as well as effective and reproducible. A test is an observation or experiment that determines one or more characteristics of a given sample, product, process, or service, with the purpose of comparing the test result to expected or desired results. The results can be qualitative (yes/no), quantitative (a measured value), or categorical and can be derived from personal observation or the output of a precision measuring instrument. Usually the test result is the dependent variable, the measured response based on the particular conditions of the test defined by the value of the independent variable. Some tests may involve changing the independent variable to determine the level at ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Ad Hoc Testing
Ad hoc testing is a commonly used term for planned software testing that is performed without initial test case documentation; however, ad hoc testing can also be applied to other scientific research and quality control efforts. Ad hoc tests are useful for adding additional confidence to a resulting product or process, as well as quickly spotting important defects or inefficiencies, but they have some disadvantages, such as having inherent uncertainties in their performance and not being as useful without proper documentation post-execution and -completion. Occasionally, ad hoc testing is compared to exploratory testing as being less rigorous, though others argue that ad hoc testing still has value as "improvised testing that deals well with verifying a specific subject." Ad hoc testing of software When testing software, that testing may be methodical or more improvisational. Methodical testing will include written test cases, which detail their own set of specified inputs, execut ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Deductive Reasoning
Deductive reasoning is the process of drawing valid inferences. An inference is valid if its conclusion follows logically from its premises, meaning that it is impossible for the premises to be true and the conclusion to be false. For example, the inference from the premises "all men are mortal" and " Socrates is a man" to the conclusion "Socrates is mortal" is deductively valid. An argument is ''sound'' if it is valid ''and'' all its premises are true. One approach defines deduction in terms of the intentions of the author: they have to intend for the premises to offer deductive support to the conclusion. With the help of this modification, it is possible to distinguish valid from invalid deductive reasoning: it is invalid if the author's belief about the deductive support is false, but even invalid deductive reasoning is a form of deductive reasoning. Deductive logic studies under what conditions an argument is valid. According to the semantic approach, an argument is valid ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




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 Marcus 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 Mission 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. According to Jon Bach, one of the co-founders of the methodology, the mission explains "what we are te ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Pair Testing
Pair testing is a software development technique in which two team members work together at one keyboard to test the software application. One does the testing and the other analyzes or reviews the testing. This can be done between one tester and developer or business analyst or between two testers with both participants taking turns at driving the keyboard. Description This can be more related to pair programming and exploratory testing of agile software development where two team members are sitting together to test the software application. This will help both the members to learn more about the application. This will narrow down the root cause of the problem while continuous testing. Developer can find out which portion of the source code is affected by the bug. This track can help to make the solid test cases and narrowing the problem for the next time. Benefits and drawbacks * The developer can learn more about the software application by exploring with the t ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Mindset
A mindset refers to an established set of attitudes of a person or group concerning culture, values, philosophy, frame of reference, outlook, or disposition. It may also arise from a person's worldview or beliefs about the meaning of life. Some scholars claim that people can have multiple types of mindsets. Some of these types include a growth mindset, fixed mindset, poverty mindset, abundance mindset, and positive mindset among others that make up a person's overall mindset. More broadly, scholars have found that mindset is associated with a range of functional effects in different areas of people's lives. This includes influencing a person's capacity for perception by functioning like a filter, a frame of reference, a meaning-making system, and a pattern of perception. Mindset is described as shaping a person's capacity for development by being associated with passive or conditional learning, incremental or horizontal learning, and transformative or vertical learning. Mindset ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


James Marcus Bach
James Marcus Bach (born ) is an American software tester, author, trainer, and consultant. Career In his autobiography, Bach wrote that he worked as a software testing manager for Apple and Borland after dropping out of high school. He also programmed Apple II and Commodore 64 ports of various titles for Spinnaker Software. Since 1999, he has worked as independent consultant based in Eastsound, Washington. As a witness in the 2001 ''United States v. Microsoft Corp.'' antitrust case, Bach testified that Microsoft could indeed unbundle Internet Explorer from Windows. Bach is a proponent of exploratory testing and the context-driven school of software testing and is credited with developing session-based testing. He was a member of the board of directors of the Association for Software Testing. ''Lessons Learned in Software Testing'', a book he co-authored, has been cited over 130 times according to Google Scholar, and several of his articles have been cited dozens of times includi ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Test Script
A test script in software testing is a set of instructions that will be performed on the system under test to test that the system functions as expected. Types of test scripts There are various means for executing test scripts. These last two types are also done in manual testing. * Manual testing. These are more commonly called test cases. * Automated testing. ** Short program written in a programming language used to test part of the functionality of a software system. Test scripts written as a short program can either be written using a special automated functional GUI test tool (such as HP QuickTest Professional, Borland SilkTest, IBM TPNS and Rational Robot) or in a well-known programming language (such as C++, C#, Tcl, Expect, Java, PHP, Perl, Powershell, Python, or Ruby). As documented in IEEE, ISO and IEC. ** Extensively parameterized short programs a.k.a. Data-driven testing ** Reusable steps created in a table a.k.a. keyword-driven or table-driven testing. ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Software Bug
A software bug is a design defect ( bug) in computer software. A computer program with many or serious bugs may be described as ''buggy''. The effects of a software bug range from minor (such as a misspelled word in the user interface) to severe (such as frequent crashing). In 2002, a study commissioned by the US Department of Commerce's National Institute of Standards and Technology concluded that "software bugs, or errors, are so prevalent and so detrimental that they cost the US economy an estimated $59 billion annually, or about 0.6 percent of the gross domestic product". Since the 1950s, some computer systems have been designed to detect or auto-correct various software errors during operations. History Terminology ''Mistake metamorphism'' (from Greek ''meta'' = "change", ''morph'' = "form") refers to the evolution of a defect in the final stage of software deployment. Transformation of a ''mistake'' committed by an analyst in the early stages of the softw ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




Test Design
In software engineering, test design is the activity of deriving and specifying test cases from test conditions to test software. Definition A test condition is a statement about the test object. Test conditions can be stated for any part of a component or system that could be verified: functions, transactions, features, quality attributes or structural elements. The fundamental challenge of test design is that there are infinitely many different tests that you could run, but there is not enough time to run them all. A subset of tests must be selected; small enough to run, but well-chosen enough that the tests find bug and expose other quality-related information. Test design is one of the most important prerequisites of software quality. Good test design supports: # defining and improving quality related processes and procedures (quality assurance); # evaluating the quality of the product with regards to customer expectations and needs (quality control); # finding defects in ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Test Case
In software engineering, a test case is a specification of the inputs, execution conditions, testing procedure, and expected results that define a single test to be executed to achieve a particular software testing objective, such as to exercise a particular program path or to verify compliance with a specific requirement. Test cases underlie testing that is methodical rather than haphazard. A battery of test cases can be built to produce the desired coverage of the software being tested. Formally defined test cases allow the same tests to be run repeatedly against successive versions of the software, allowing for effective and consistent regression testing. Formal test cases In order to fully test that all the requirements of an application are met, there must be at least two test cases for each requirement: one positive test and one negative test. If a requirement has sub-requirements, each sub-requirement must have at least two test cases. Keeping track of the link between ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]