Random Testing
Random Testing
Random Testing
-A black box test design technique where test cases are selected, possibly using a pseudo-random generation algorithm, to match an operational profile. This tec hnique can be used for testing non-functional attributes such as reliability and performance 2)Explain steps involved in random testing? Random testing# Generate program inputs at random # Drawn from some (possibly changing) probability distribution # Throw darts at the state space, without drawing a bullseye # May generate the same test (or equivalent tests) many times # Will perform operations no sane human would ever perform 3) Mention the Types of algorithms for random testing? ->uniform random walks (where every trace has the same probability to occur), ->randomised quasi-random sequences, ->a path-oriented random test data generator, ->sequence of random test data that execute only a subset of paths in a program 4) Give the types of random testing techniques? Give example for each? Main types of random testing techniques: (a)Random input data generation Example: You need to test new functionality of your application. For testing you randomly generate data for all existing and new fields in the application under test. (b)Random sequence of data input (sometimes called as stochastic testing) Example: You have a GUI interface with multiple tabs for entering information an d only one save button. The system can work correctly if the order of entering o f information is tab 1, tab 2 and tab 3, but may be will give error if the seque nce is tab 2, tab1, tab3. (c)Random data selection from Example: You need to test new randomly by member ID select hat new functionality working existing database functionality of your application. For testing you members from existing system database and verify t as expected.
5)What or Where is random testing used for? ->Measurement of the coverage that applies by different random techniques will p rovide opportunities for future improvement. ->In some circumstances, random testing methods are more practical than any type s of systematic structural types of testing. 6) Random testing is not only a useful testing technique in itself, but also can be used in many other testing techniques. Explain it? @In general that GUI-based applications to be less reliable and random testing h as high failure detection effectiveness during GUI testing. @Adaptive Random Testing is a Black Box testing technique based on the assumptio n that Random Testing failure-finding efficiency can be improved by evenly distr ibuting test cases in the input domain. @The computer can only generate pseudorandom numbers--numbers that are generated by a formula. @With random number generators (RNGs), there are no guarantees. We can only pred ict what will happen in practice. 7) Define Adaptive Random Testing(ART)? Adaptive Random Testing is a Black Box testing method based on the intuition tha t Random Testing failure-finding efficiency can be improved upon, in certain sit uations, by ensuring a more widespread and evenly distributed spread of test cas
es in the input domain. Adaptive Random Testing (ART) denotes a family of testing algorithms that have a better performance compared to pure random testing with respect to the number o f test cases necessary to detect the first failure. 8)What are the tips to be kept in mind for using random test generation tools? #When you are choosing the tool for generating random numbers, you need to decid e which type of data you need (format), what range you need (minimum to maximum) , and how they must be distributed. The distribution near boundaries may be the best way. There are two common types of distributions: uniform and normal. In a uniform distribution all numbers in the range are equally likely to be produced. #In some random generators a particular random number may be generated repeatedl y for every new ran. If you don't want the same numbers to be repeated, put the values in the log and use logic - if x was previously chosen, do not use more. R emember to clear this log file periodically. #We need to reproduce errors in order to fix them. For this reason, log file mus t exist to store the seed value before using it. This will help to reproduce the error in the case if a computer or application fails dramatically. Code coverag e tools can be used to verify quality of your random testing. Every random test generator can be expected to find a different set of bugs. Before using random t est generator for your testing open log file and verify that data generated is s uitable for your needs. 9)Define Random input testing? The processes of testing a program by randomly selecting a subset of all possibl e input values. 10)What are the typical distribution types in random testing? Typical distributions are: ->uniform: test cases are chosen with equal probability from the entire input domain. ->operational: test cases are drawn from a distribution defined by carefully collected historical usage data 11) Mention some benefits of random testing? Some benefits of random testing are:->Use of random test inputs may save some of the time and effort that more thoug htful test inputs selection method requires. ->If the domain is well-structured, automatic generation can be used, allowing m any more test cases to be run than if tests are manually generated. ->If an operational distribution is used, then it should approximate user behavi or. 12)Mention the downside of random testing? ->An oracle (a mechanism for determining whether the output is correct) is requi red to determine whether the output is correct. ->Need a well-structured domain. ->Even a uniform distribution may be difficult or impossible to produce for comp lex domains, or when there is a non-numeric domains. ->If a uniform distribution is used, only a negligible fraction of the domain ca n be tested in most cases. ->Without an operational distribution, random testing does not approximate user behavior, and therefore does not provide an accurate picture of the way the syst em will behave. 13)Define monkey testing? Testers use the term monkey when referring to a fully automated testing tool. Th is tool doesn t know how to use any application, so it performs mouse clicks on th
e screen or keystrokes on the keyboard randomly. The test monkey is technically known to conduct stochastic testing, which is in the category of black-box testi ng. 14) Give the different types of monkey testing? ->smart monkey testing ->brilliant monkey testing ->dumb-monkey testing 15)Explain the different types of monkey in detail? ->Monkey Testing. (smart monkey testing) Input are generated from probability di stributions that reflect actual expected usage statistics -- e.g., from user pro files. There are different levels of IQ in smart monkey testing. In the simplest , each input is considered independent of the other inputs. That is, a given tes t requires an input vector with five components. In low IQ testing, these would be generated independently. In high IQ monkey testing, the correlation (e.g., th e covariance) between these input distribution is taken into account. In all bra nches of smart monkey testing, the input is considered as a single event. ->Monkey Testing. (brilliant monkey testing) The inputs are created from a stoch astic regular expression or stochastic finite-state machine model of user behavi or. That is, not only are the values determined by probability distributions, bu t the sequence of values and the sequence of states in which the input provider goes is driven by specified probabilities. ->Monkey Testing. (dumb-monkey testing) Inputs are generated from a uniform prob ability distribution without regard to the actual usage statistics. Error Guessi ng: Another common approach to black-box validation. Black-box testing is when e verything else other than the source code may be used for testing. This is the m ost common approach to testing. Error guessing is when random inputs or conditio ns are used for testing. Random in this case includes a value either produced by a computerized random number generator, or an ad hoc value or test conditions p rovided by engineer. 16) Explian Directed Automated Random Testing (DART)? (1) Automated extraction of program interface from source code (2)Generation of test driver for random testing through the interface (3)Dynamic test generation to direct executions along alternative program paths Together: (1)+(2)+(3) = DART DART can detect program crashes and assertion violations. Any program that compiles can be run and tested this way: No need to write any test driver or harness code! (Pre- and post-conditions can be added to generated test-driver)