Monday, 5 May 2014

Clicking the webelement with dynamic ID

Clicking the web Element with Dynamic ID

Scenario:


If the webelement is keep on changing on each page load(If Particular char been not changing) , we can handle by "Contains" Keyword in element finder.

For Eg.

First time the ID of the element is "Button_1", then some other time it changing randomly "Button_3", "Button_45".. etc

By Using below code we can click the Button:

driver.findElement(By.xpath(//*[contains(@id,'Button_')])).click();

Friday, 7 June 2013

Online Responsive web design testing tools


Responsive Web design testing tools

Responsive design is an approach to web page creation that makes use of flexible layouts, flexible images and cascading style sheet media queries.  The goal of responsive design is to build web pages that detect the visitor’s screen size and orientation and change the layout accordingly 

1. http://mattkersley.com/responsive/ 

This tool has been built to help with testing your responsive websites while you design and build them.You can enter your website's URL into the address bar at the top of this page (not your browser's address bar) to test a specific page.


2. http://responsivepx.com/ 

Enter the url to your site - local or online: both work - and use the controls to adjust the width and height of your viewport to find exact breakpoint widths in pixels. Then use that information in your media queries to create a responsive design


3. http://screenqueri.es/ 

Screenqueri.es is a Pixel Perfect Tool to Test your Responsive Design / Media Queries. Select from 30 Pre-defined Screen Resolutions OR Drag Screen Handles To Go With Your Custom Screen Resolutions


4. http://responsivedesignsimulator.com/ 

The responsive design simulator serves one purpose: to help designers, and audiences, visualize their responsive sites on popular devices. Simply type in the URL for your site and view the scrollable simulations below. Keep in mind, this is not a replacement for actual mobile testing as the mobile browsers can render CSS and HTML uniquely.


5. http://lab.csschopper.com/responsive/

 An exceptional online responsive website design testing tool by CSSCHOPPER to test responsive design on different device resolutions


 

Thursday, 2 May 2013

How we can handle SSL certificate error in IE with selenium webdriver ?

What is SSL Certificate errors?

Certificates are not trusted in Web Browsers. 

For Eg. If we access Paypal Website without www, web browser will show SSL certificate error.

Like "https://paypal.com". 

In selenium Webdriver, How we can handle this issue?

Here is the simple solution for this SSL certificate error.

 driver.navigate().to("javascript:document.getElementById('overridelink').click()");




import org.openqa.selenium.WebDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.testng.annotations.Test;

public class SSLerror{
private WebDriver driver;

@Test
public void TestSSLerror() {
System.setProperty("webdriver.ie.driver",E:\\IEDriverServer_Win32_2.28.0\\IEDriverServer.exe"); 
   driver = new InternetExplorerDriver();
   driver.get("https://ultra-erp.com/Ultratiles/Default.aspx");
   driver.navigate().to("javascript:document.getElementById('overridelink').click()");  

}




Monday, 21 January 2013

How to count the number of contents (Values) in the drop down using selenium webdriver?


How to count the number of contents (Values) in the drop down using selenium webdriver?




First we need to store the contents of DDL into one string. Then we need to split that string by line (\n).

Normally it will count "-Select-" as a string. So we need minus 1 from the array length.

 WebElement J = driver.findElement(By.id("ddlType"));
    String text = J.getText(); 
    String[] DDLcount =text.split("\n");
    System.out.println("Count of DDL contents:" +(DDLcount.length-1));


How to upload file using selenium webdriver in java?


How to upload file using selenium webdriver in java?

 If you click browse button, it will open a window for uploading the file.


Already we know, Selenium web driver can handle only web based application. It unable to find the window based application. So, It can't browse the files for uploading.
Then, How we can upload the file??

The simple trick is, we need to specify the path of the file in the browse text box and click upload button

Here is the code:

driver.findElement(By.xpath("xpath of Browse_Textbox")).sendKeys("path_of_file");
driver.findElement(By.xpath("xpath of upload_file_Button")).click();

Friday, 18 January 2013

How to run the Webdriver in Internet Explorer?


How to run the Webdriver in Internet Explorer?


1. First you need to download the IE Webdriver:

Here is the Link to Download:

http://code.google.com/p/selenium/downloads/list

2. Use the Below code in your Java Program:


System.setProperty("webdriver.ie.driver", "Path of IEDriver");
driver = new InternetExplorerDriver();


Note:  You need to specify the path with double slash

Eg : E:\\IEDriverServer_x64_2.28.0\\IEDriverServer.exe

How to run the Webdriver in Chrome browser?

How to run the Webdriver in Chrome browser?


1. First you need to download the Chrome Webdriver:

Here is the Link to Download:

http://code.google.com/p/chromedriver/downloads/list

2. Use the Below code in your Java Program:

System.setProperty("webdriver.chrome.driver", "Path of chromedriver.exe");
driver = new FirefoxDriver();

Note:  You need to specify the path with double slash

Eg : "E:\\chromedriver_win_23.0.1240.0\\chromedriver.exe"

Wednesday, 16 January 2013

Wait Statement in Selenium Webdriver

Wait Statement in Selenium Webdriver

There are two types of Wait Statement:
1. Implicit Wait
2. Explicit Wait

Implicit Wait:

An Implicit Wait is to tell the Webdriver to wait for a particular seconds

WebDriver driver = new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

In this scenario, Webdriver will wait for 10 seconds.


Explicit Wait:

wait.until(ExpectedConditions.visibilityOf(By.xpath("//*@id='form1']/--------/img")));

In this scenario, Webdriver will wait upto the element is present.

Sending special keys and key event in selenium webdriver

Sending special keys and key event in selenium webdriver

Use the Below Code:

//Sending F5 key  
driver.findElement(By.id("name")).sendKeys(Keys.F5);  
  
//Sending arrow down key   
driver.findElement(By.id("name")).sendKeys(Keys.ARROW_DOWN);  

//sending Escape key  
driver.findElement(By.id("name")).sendKeys(Keys.ESCAPE);
  
//sending pagedown key from keyboard  
driver.findElement(By.id("name")).sendKeys(Keys.PAGE_DOWN);  
  
//sending space key   
driver.findElement(By.id("name")).sendKeys(Keys.SPACE);  
  
//sending tab key  
driver.findElement(By.id("name")).sendKeys(Keys.TAB);  
  
//sending alt key  
driver.findElement(By.id("name")).sendKeys(Keys.ALT);

How to handle the Javascript alert in Selenium Webdriver?

How to handle the Javascript alert in Selenium Webdriver?


Use the Below Code:

Alert alert = driver.switchTo().alert();
alert.accept();                         //For Clicking OK 
//alert.cancel();                       For Clicking CANCEL

How to select a value from the dropdown using selenium Webdriver?

How to select a value in the dropdown using selenium Webdriver?

Use the Below code:

import org.openqa.selenium.support.ui.Select;
                                 
Select droplist = new Select(driver.findElement(By.xpath("//*[@id='ddlrecurrencetype']")));
droplist.selectByVisibleText("Weekly");

How to drag and drop the control using selenium Webdriver

How to drag and drop the control using selenium Webdriver?

Use the following Code:

WebElement draggable = driver.findElement(By.xpath("//*[@id='lblpgmlist']"));
WebElement to = driver.findElement(By.xpath("//*[@id='calendar']/div/div/table/tbody/tr[2]/td[2]"));
new Actions(driver).dragAndDrop(draggable,to).build().perform();


How to maximize the browser using selenium webdriver?

How to maximize the browser using selenium webdriver?


Use this Code:

driver.manage().window().maximize();



How to take screenshot using selenium Webdriver?

How to take screenshot using selenium Webdriver?


By Using  below code you can take screenshot of current webpage:

driver.get("http://google.com");            
File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(scrFile, new File("E://google.png"));



Wednesday, 22 August 2012

ISTQB Model Question Paper

ISTQB Model Question Paper

1. Deciding How much testing is enough should take into account :-

i. Level of Risk including Technical and Business product and project risk
ii. Project constraints such as time and budget
iii. Size of Testing Team
iv. Size of the Development Team

a) i,ii,iii are true and iv is false
b) i,,iv are true and ii is false
c) i,ii are true and iii,iv are false
d) ii,iii,iv are true and i is false

2. Test planning has which of the following major tasks?

i. Determining the scope and risks, and identifying the objectives of testing.
ii. Determining the test approach (techniques,test items, coverage, identifying and interfacing the teams involved in testing , testware)
iii. Reviewing the Test Basis (such as requirements,architecture,design,interface)
iv. Determining the exit criteria.

a) i,ii,iv are true and iii is false
b) i,,iv are true and ii is false
c) i,ii are true and iii,iv are false
d) ii,iii,iv are true and i is false

3. Evaluating testability of the requirements and system are a part of which phase:-

a) Test Analysis and Design
b) Test Planning and control
c) Test Implementation and execution
d) Evaluating exit criteria and reporting

4. One of the fields on a form contains a text box which accepts alphabets in lower or upper case. Indentify the invalid Equivalance class value.

a. CLASS
b. cLASS
c. CLass
d. CLa01ss


5. In a system designed to work out the tax to be paid:
An employee has £4000 of salary tax free. The next £1500 is taxed at 10% The next £28000 is taxed at 22% Any further amount is taxed at 40% Which of these groups of numbers would fall into the same equivalence class?

a) £4800; £14000; £28000
b) £5200; £5500; £28000
c) £28001; £32000; £35000
d) £5800; £28000; £32000

6. Which of the following has highest level of independence in which test cases are :
a) Designed by persons who write the software under test
b) Designed by a person from a different section
c) Designed by a person from a different organization
d) Designed by another person

7. We use the output of the requirement analysis, the requirement specification as the input for writing :-

a) User Acceptance Test Cases
b) Integration Level Test Cases
c) Unit Level Test Cases
d) Program specifications

8. Validation involves which of the following

i. Helps to check the Quality of the Built Product
ii. Helps to check that we have built the right product.
iii. Helps in developing the product
iv. Monitoring tool wastage and obsoleteness.

a) Options i,ii,iii,iv are true.
b) ii is true and i,iii,iv are false
c) i,ii,iii are true and iv is false
d) iii is true and i,ii,iv are false.

9. Which of the following uses Impact Analysis most?

a) Component testing
b) Non-functional system testing
c) User acceptance testing
d) Maintenance testing

10. What is the expected result for each of the following test cases?
A. Citibank card member, holding a Silver room
B. Non Citibank-member, holding a Platinum room
Rule 1 Rule 2 Rule 3 Rule 4
Conditions
Citibank Card
Member
Yes Yes No No
Type of Room Silver Platinum Silver Platinum
Actions
Offer upgrade to
Gold Luxury
Yes No No No
Offer upgrade to
Silver
N/A Yes N/A No

a) A – Don’t offer any upgrade, B – Don’t offer any upgrade.
b) A – Don’t offer any upgrade, B – Offer upgrade to Gold.
c) A – Offer upgrade to Silver, B – Offer upgrade to Silver.
d) A – Offer upgrade to Gold, B – Don’t offer any upgrade.

11. Repeated Testing of an already tested program, after modification, to discover any defects introduced or uncovered as a result of the changes in the software being tested or in another related or unrelated software component:
a) Re Testing .
b) Confirmation Testing
c) Regression Testing
d) Negative Testing

12. Impact Analysis helps to decide :-

a) How much regression testing should be done.
b) Exit Criteria
c) How many more test cases need to written.
d) Different Tools to perform Regression Testing

13. Functional system testing is:

a) testing that the system functions with other systems
b) testing that the components that comprise the system function together
c) testing the end to end functionality of the system as a whole
d) testing the system performs functions within specified response times

14. Consider the above state transition diagram of a switch.
Which of the following represents an invalid state transition?
a) OFF to ON
b) ON to OFF
c) FAULT to ON

15. Peer Reviews are also called as :-

a) Inspection
b) Walkthrough
c) Technical Review
d) Formal Review

16. Consider the following statements:

i. 100% statement coverage guarantees 100% branch coverage.
ii. 100% branch coverage guarantees 100% statement coverage.
iii. 100% branch coverage guarantees 100% decision coverage.
iv. 100% decision coverage guarantees 100% branch coverage.
v. 100% statement coverage guarantees 100% decision coverage.

a) ii is True; i, iii, iv & v are False
b) i & v are True; ii, iii & iv are False
c) ii & iii are True; i, iv & v are False
d) ii, iii & iv are True; i & v are False

17. The Kick Off phase of a formal review includes the following :-

a) Explaining the objective
b) Fixing defects found typically done by author
c) Follow up
d) Individual Meeting preparations

18. Match every stage of the software Development Life cycle with the Testing Life cycle:
i. Hi-level design a Unit tests
ii. Code b Acceptance tests
iii. Low-level design c System tests
iv. Business requirements d Integration tests

a) i-d , ii-a , iii-c , iv-b
b) i-c , ii-d , iii-a , iv-b
c) i-b , ii-a , iii-d , iv-c
d) i-c , ii-a , iii-d , iv-b

19. Which of the following is not phase of the Fundamental Test Process?
a) Test Planning and Control
b) Test implementation and Execution
c) Requirement Analysis
d) Evaluating Exit criteria and reporting

20. Which of the following techniques is NOT a black box technique?

a) State transition testing
b) LCSAJ (Linear Code Sequence and Jump)
c) syntax testing
d) Boundary value analysis

21. Success Factors for a review include :

i. Each Review does not have a predefined objective
ii. Defects found are welcomed and expressed objectively
iii. Management supports a good review process.
iv. There is an emphasis on learning and process improvement.

a) ii,iii,iv are correct and i is incorrect
b) iii , i , iv is correct and ii is incorrect
c) i , iii , iv , ii is in correct
d) ii is correct

22. Defects discovered by static analysis tools include :

i. Variables that are never used.
ii. Security vulnerabilities.
iii. Programming Standard Violations
iv. Uncalled functions and procedures

a) i , ii,iii,iv is correct
b) iii ,is correct I,ii,iv are incorrect.
c) i ,ii, iii and iv are incorrect
d) iv, ii is correct

23. Test Conditions are derived from :-

a) Specifications
b) Test Cases
c) Test Data
d) Test Design

24. Which of the following is true about White and Black Box Testing Technique:-

a) Equivalance partitioning, Decision Table and Control flow are White box Testing Techniques.
b) Equivalence partitioning , Boundary Value Analysis , Data Flow are Black Box Testing Techniques.
c) Equivalence partitioning , State Transition , Use Case Testing are black box
Testing Techniques.
d) Equivalence Partioning , State Transition , Use Case Testing and Decision Table are White Box Testing Techniques.

25. Regression testing should be performed:

i. every week
ii. after the software has changed
iii. as often as possible
iv. when the environment has changed
v. when the project manager says
a) i & ii are true, iii, iv & v are false
b) ii, iii & iv are true, i & v are false
c) ii & iv are true, i, iii & v are false
d) ii is true, i, iii, iv & v are false

26. Benefits of Independent Testing

a) Independent testers are much more qualified than Developers
b) Independent testers see other and different defects and are unbiased.
c) Independent Testers cannot identify defects.
d) Independent Testers can test better than developers

27. Minimum Tests Required for Statement Coverage and Branch Coverage :-
Read P
Read Q
If p+q > 100 then
Print “Large”
End if
If p > 50 then
Print “pLarge”
End if

a) Statement coverage is 2, Branch Coverage is 2
b) Statement coverage is 3 and branch coverage is 2
c) Statement coverage is 1 and branch coverage is 2
d) Statement Coverage is 4 and Branch coverage is 2

28. Minimum Test Required for Statement Coverage :-

Disc = 0
Order-qty = 0
Read Order-qty
If Order-qty >=20 then
Disc = 0.05
If Order-qty >=100 then
Disc =0.1
End if
End if

a) Statement coverage is 4
b) Statement coverage is 1
c) Statement coverage is 3
d) Statement Coverage is 2

29. The structure of an incident report is covered in the Standard for Software Test Documentation IEEE 829 and is called as : -
a) Anomaly Report
b) Defect Report
c) Test Defect Report
d) Test Incident Report
30. Which of the following is the task of a Test Lead / Leader.

i. Interaction with the Test Tool Vendor to identify best ways to leverage test tool on the project.
ii. Write Test Summary Reports based on the information gathered during testing
iii. Decide what should be automated , to what degree and how.
iv. Create the Test Specifications

a) i, ii, iii is true and iv is false
b) ii,iii,iv is true and i is false
c) i is true and ii,iii,iv are false
d) iii and iv is correct and i and ii are incorrect

31. Features of White Box Testing Technique :-

i. We use explicit knowledge of the internal workings of the item being tested to select the test data.
ii. Uses specific knowledge of programming code to examine outputs and assumes that the tester knows the path of logic in a unit or a program.
iii. Checking for the performance of the application
iv. Also checks for functionality.

a) i, ii are true and iii and iv are false
b) iii is true and i,ii, iv are false
c) ii ,iii is true and i,iv is false
d) iii and iv are true and i,ii are false

32. Which of the following is a part of Test Closure Activities?

i. Checking which planned deliverables have been delivered
ii. Defect report analysis.
iii. Finalizing and archiving testware.
iv. Analyzing lessons.

a) i , ii , iv are true and iii is false
b) i , ii , iii are true and iv is false
c) i , iii , iv are true and ii is false
d) All of above are true

33. Which of the following will be the best definition for Testing :-

a) The goal / purpose of testing is to demonstrate that the program works.
b) The purpose of testing is to demonstrate that the program is defect free.
c) The purpose of testing is to demonstrate that the program does what it is
supposed to do.
d) Testing is executing Software for the purpose of finding defects.

34. Which of the following is not a type of incremental testing approach?

a) Top down
b) Big-bang
c) Bottom up
d) Functional incrementation.

35. Drivers are also known as:

i. Spade
ii. Test harness
iii. Scaffolding

a) i , ii are true and iii is false
b) i , iii are true and ii is false
c) ii , iii are true and i is false
d) All of the above are true

36. Exit Criteria may consist of :-

i. Thoroughness measures , such as coverage of code, functionality or risk
ii. Estimates of Defect density or reliability measures.
iii. Residual risk such as defects not fixed or lack of test coverage in certain areas
iv. Verifying the Test Environment.

a) iv is correct and i,ii,iii are incorrect.
b) i,ii,iii is correct and iv is incorrect
c) ii is correct and i,ii,iii are incorrect
d) iii and iv are correct and i,ii are incorrect

37. Which of the following helps in monitoring the Test Progress:-

i. Percentage of Test Case Execution
ii. Percentage of work done in test environment preparation.
iii. Defect Information e.g. defect density, defects found and fixed
iv. The size of the testing Team and skills of the engineers

a) iv is correct and i,ii,iii are incorrect
b) i,ii,iii are correct and iv is incorrect
c) i,ii are correct and iii,iv are incorrect
d) i,iv are correct and ii , iii are incorrect

38. The selection of a test approach should consider the context :-
i. Risk of Failure of the Project, hazards to the product and risks of product failure to humans
ii. Skills and experience of the people in the proposed technique, tools and
methods
iii. The objective of the testing endeavor and the mission of the testing team.
iv. The size of the testing Team

a) i,ii,iii,iv are true
b) i,ii,iii are true and iv is false.
c) ii,iii,iv are true and i is false.
d) i,iv are true and ii, iii are false.

39. In case of Large Systems :-

a) Only few tests should be run
b) Testing should be on the basis of Risk
c) Only Good Test Cases should be executed.
d) Test Cases written by good test engineers should be executed.

40. The Provision and Management of a controlled library containing all the configurations items is called as

a) Configuration Control
b) Status Accounting
c) Configuration Identification
d) Configuration Identification

Answers :

1 c 11 c 21 a 31 a
2 a 12 a 22 a 32 c
3 a 13 c 23 a 33 d
4 d 14 c 24 c 34 b
5 d 15 c 25 c 35 c
6 c 16 d 26 b 36 b
7 a 17 a 27 c 37 b
8 b 18 d 28 b 38 b
9 d 19 c 29 a 39 b
10 d 20 b 30 a 40 a

Monday, 19 December 2011

Basics of Software testing

What is Software testing?? 

Testing is a process used to help identify the correctness, completeness and quality of developed computer software. With that in mind, testing can never completely establish the correctness of computer software.

There are many approaches to software testing, but effective testing of complex products is essentially a process of investigation, not merely a matter of creating and following rote procedure. One definition of testing is "the process of questioning a product in order to evaluate it", where the "questions" are things the tester tries to do with the product, and the product answers with its behavior in reaction to the probing of the tester. Although most of the intellectual processes of testing are nearly identical to that of review or inspection, the word testing is connoted to mean the dynamic analysis of the product—putting the product through its paces.

Testing helps is Verifying and Validating if the Software is working as it is intended to be working. Thins involves using Static and Dynamic methodologies to Test the application.
Because of the fallibility of its human designers and its own abstract, complex nature, software development must be accompanied by quality assurance activities. It is not unusual for developers to spend 40% of the total project time on testing. For life-critical software (e.g. flight control, reactor monitoring), testing can cost 3 to 5 times as much as all other activities combined. The destructive nature of testing requires that the developer discard preconceived notions of the correctness of his/her developed software. 

Software Testing Fundamentals

Testing objectives include

1. Testing is a process of executing a program with the intent of finding an error.
2. A good test case is one that has a high probability of finding an as yet undiscovered error.
3. A successful test is one that uncovers an as yet undiscovered error.

Testing should systematically uncover different classes of errors in a minimum amount of time and with a minimum amount of effort. A secondary benefit of testing is that it demonstrates that the software appears to be working as stated in the specifications. The data collected through testing can also provide an indication of the software's reliability and quality. But, testing cannot show the absence of defect -- it can only show that software defects are present.


Software Testing Types: 


Black box testing – Internal system design is not considered in this type of testing. Tests are based on requirements and functionality.

White box testing – This testing is based on knowledge of the internal logic of an application’s code. Also known as Glass box Testing. Internal software and code working should be known for this type of testing. Tests are based on coverage of code statements, branches, paths, conditions.

Unit testing – Testing of individual software components or modules. Typically done by the programmer and not by testers, as it requires detailed knowledge of the internal program design and code. may require developing test driver modules or test harnesses.

Incremental integration testing – Bottom up approach for testing i.e continuous testing of an application as new functionality is added; Application functionality and modules should be independent enough to test separately. done by programmers or by testers.

Integration testing – Testing of integrated modules to verify combined functionality after integration. Modules are typically code modules, individual applications, client and server applications on a network, etc. This type of testing is especially relevant to client/server and distributed systems.

Functional testing – This type of testing ignores the internal parts and focus on the output is as per requirement or not. Black-box type testing geared to functional requirements of an application.

System testing – Entire system is tested as per the requirements. Black-box type testing that is based on overall requirements specifications, covers all combined parts of a system.

End-to-end testing – Similar to system testing, involves testing of a complete application environment in a situation that mimics real-world use, such as interacting with a database, using network communications, or interacting with other hardware, applications, or systems if appropriate.

Sanity testing - Testing to determine if a new software version is performing well enough to accept it for a major testing effort. If application is crashing for initial use then system is not stable enough for further testing and build or application is assigned to fix.

Regression testing – Testing the application as a whole for the modification in any module or functionality. Difficult to cover all the system in regression testing so typically automation tools are used for these testing types.

Acceptance testing -Normally this type of testing is done to verify if system meets the customer specified requirements. User or customer do this testing to determine whether to accept application.

Load testing – Its a performance testing to check system behavior under load. Testing an application under heavy loads, such as testing of a web site under a range of loads to determine at what point the system’s response time degrades or fails.

Stress testing – System is stressed beyond its specifications to check how and when it fails. Performed under heavy load like putting large number beyond storage capacity, complex database queries, continuous input to system or database load.

Performance testing – Term often used interchangeably with ‘stress’ and ‘load’ testing. To check whether system meets performance requirements. Used different performance and load tools to do this.

Usability testing – User-friendliness check. Application flow is tested, Can new user understand the application easily, Proper help documented whenever user stuck at any point. Basically system navigation is checked in this testing.

Install/uninstall testing - Tested for full, partial, or upgrade install/uninstall processes on different operating systems under different hardware, software environment.

Recovery testing – Testing how well a system recovers from crashes, hardware failures, or other catastrophic problems.

Security testing – Can system be penetrated by any hacking way. Testing how well the system protects against unauthorized internal or external access. Checked if system, database is safe from external attacks.

Compatibility testing – Testing how well software performs in a particular hardware/software/operating system/network environment and different combination s of above.

Comparison testing – Comparison of product strengths and weaknesses with previous versions or other similar products.

Alpha testing – In house virtual user environment can be created for this type of testing. Testing is done at the end of development. Still minor design changes may be made as a result of such testing.

Beta testing – Testing typically done by end-users or others. Final testing before releasing application for commercial purpose.



Software Testing Dictionary
Acceptance Test: Formal tests (often performed by a customer) to determine whether or not a system has satisfied predetermined acceptance criteria. These tests are often used to enable the customer (either internal or external) to determine whether or not to accept a system.
Ad Hoc Testing: Testing carried out using no recognized test case design techniqueAlpha Testing: Testing of a software product or system conducted at the developer’s site by the customer.
Assertion Testing. (NBS): A dynamic analysis technique which inserts assertions about the relationship between program variables into the program code. The truth of the assertions is determined as the program executes.
Automated Testing Software testing which is assisted with software technology that does not require operator (tester) input, analysis, or evaluation.
Background testing is the execution of normal functional testing while the SUT is exercised by a realistic work load. This work load is being processed “in the background” as far as the functional testing is concerned.
Bug: glitch, error, goof, slip, fault, blunder, boner, howler, oversight, botch, delusion, elision. [B. Beizer, 1990], defect, issue, problem
Beta Testing: Testing conducted at one or more customer sites by the end-user of a delivered software product or system.
Benchmarks: Programs that provide performance comparison for software, hardware, and systems.
Benchmarking is specific type of performance test with the purpose of determining performance baselines for comparison.  
Big-bang testing: Integration testing where no incremental testing takes place prior to all the system's components being combined to form the system
Black box testing: A testing method where the application under test is viewed as a black box and the internal behavior of the program is completely ignored. Testing occurs based upon the external specifications. Also known as behavioral testing, since only the external behaviors of the program are evaluated and analyzed.
Boundary Value Analysis (BVA): BVA is different from equivalence partitioning in that it focuses on “corner cases” or values that are usually out of range as defined by the specification. This means that if function expects all values in range of negative 100 to positive 1000, test inputs would include negative 101 and positive 1001. BVA attempts to derive the value often used as a technique for stress, load or volume testing. This type of validation is usually performed after positive functional validation has completed (successfully) using requirements specifications and user documentation.
Breadth test : A test suite that exercises the full scope of a system from a top-down perspective, but does not test any aspect in detail  
Cause Effect Graphing: (1) [NBS] Test data selection technique. The input and output domains are partitioned into classes and analysis is performed to determine which input classes cause which effect. A minimal set of inputs is chosen which will cover the entire effect set. (2)A systematic method of generating test cases representing combinations of conditions. See: testing, functional.
Clean test: A test whose primary purpose is validation; that is, tests designed to demonstrate the software`s correct working.(syn. positive test)
Code Inspection: A manual [formal] testing [error detection] technique where the programmer reads source code, statement by statement, to a group who ask questions analyzing the program logic, analyzing the code with respect to a checklist of historically common programming errors, and analyzing its compliance with coding standards. Contrast with code audit, code review, code walkthrough. This technique can also be applied to other software and configuration items. [G.Myers/NBS] Syn: Fagan Inspection
Code Walkthrough: A manual testing [error detection] technique where program logic [structure] is traced manually [mentally] by a group with a small set of test cases, while the state of program variables is manually monitored, to analyze the programmer’s logic and assumptions.[G.Myers/NBS] Contrast with code audit, code inspection, code review.
Coexistence Testing: Coexistence isn enough. It also depends on load order, how virtual space is mapped at the moment, hardware and software configurations, and the history of what took place hours or days before. It probably an exponentially hard problem rather than a square-law problem.
Compatibility bug : A revision to the framework breaks a previously working feature: a new feature is inconsistent with an old feature, or a new feature breaks an unchanged application rebuilt with the new framework code.
Compatibility Testing: The process of determining the ability of two or more systems to exchange information. In a situation where the developed software replaces an already working program, an investigation should be conducted to assess possible comparability problems between the new software and other programs or systems.
Composability testing : Testing the ability of the interface to let users do more complex tasks by combining different sequences of simpler, easy-to-learn tasks.
Condition Coverage: A test coverage criteria requiring enough test cases such that each condition in a decision takes on all possible outcomes at least once, and each point of entry to a program or subroutine is invoked at least once. Contrast with branch coverage, decision coverage, multiple condition coverage, path coverage, statement coverage.[G.Myers]
Conformance directed testing: Testing that seeks to establish conformance to requirements or specification.
CRUD Testing: Build CRUD matrix and test all object creation, reads, updates, and deletion.
Data-Driven testing: An automation approach in which the navigation and functionality of the test script is directed through external data; this approach separates test and control data from the test script. [Daniel J. Mosley, 2002]
Data flow testing: Testing in which test cases are designed based on variable usage within the code.
Database testing: Check the integrity of database field values. [William E. Lewis, 2000]
Defect The difference between the functional specification (including user documentation) and actual program text (source code and data). Often reported as problem and stored in defect-tracking and problem-management system
Defect : Also called a fault or a bug, a defect is an incorrect part of code that is caused by an error. An error of commission causes a defect of wrong or extra code. An error of omission results in a defect of missing code. A defect may cause one or more failures.
Depth test: A test case, that exercises some part of a system to a significant level of detail.
Decision Coverage: A test coverage criteria requiring enough test cases such that each decision has a true and false result at least once, and that each statement is executed at least once. Syn: branch coverage. Contrast with condition coverage, multiple condition coverage, path coverage, statement coverage.
Dirty testing : Negative testing.  
Dynamic testing: Testing, based on specific test cases, by execution of the test object or running programs  
End-to-End testing: Similar to system testing; the ‘macro’ end of the test scale; involves testing of a complete application environment in a situation that mimics real-world use, such as interacting with a database, using network communications, or interacting with other hardware, applications, or systems if appropriate.
Equivalence Partitioning: An approach where classes of inputs are categorized for product or function validation. This usually does not include combinations of input, but rather a single state value based by class. For example, with a given function there may be several classes of input that may be used for positive testing. If function expects an integer and receives an integer as input, this would be considered as positive test assertion. On the other hand, if a character or any other input class other than integer is provided, this would be considered a negative test assertion or condition.
Error: An error is a mistake of commission or omission that a person makes. An error causes a defect. In software development one error may cause one or more defects in requirements, designs, programs, or tests.
Errors: The amount by which a result is incorrect. Mistakes are usually a result of a human action. Human mistakes (errors) often result in faults contained in the source code, specification, documentation, or other product deliverable. Once a fault is encountered, the end result will be a program failure. The failure usually has some margin of error, either high, medium, or low.
Error Guessing: Another common approach to black-box validation. Black-box testing is when everything else other than the source code may be used for testing. This is the most common approach to testing. Error guessing is when random inputs or conditions 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 provided by engineer.
Error guessing: A test case design technique where the experience of the tester is used to postulate what faults exist, and to design tests specially to expose them
Error seeding: The purposeful introduction of faults into a program to test effectiveness of a test suite or other quality assurance program.
Exception Testing: Identify error messages and exception handling processes an conditions that trigger them.  
Exhaustive Testing.(NBS): Executing the program with all possible combinations of values for program variables. Feasible only for small, simple programs.
Exploratory Testing: An interactive process of concurrent product exploration, test design, and test execution. The heart of exploratory testing can be stated simply: The outcome of this test influences the design of the next test.  
Failure: A failure is a deviation from expectations exhibited by software and observed as a set of symptoms by a tester or user. A failure is caused by one or more defects. The Causal Trail. A person makes an error that causes a defect that causes a failure.[Robert M. Poston, 1996]
Follow-up testing: we vary a test that yielded a less-thanspectacular failure. We vary the operation, data, or environment, asking whether the underlying fault in the code can yield a more serious failure or a failure under a broader range of circumstances.
Formal Testing. (IEEE): Testing conducted in accordance with test plans and procedures that have been reviewed and approved by a customer, user, or designated level of management. Antonym: informal testing
Free Form Testing: Ad hoc or brainstorming using intuition to define test cases.
Functional Decomposition Approach: An automation method in which the test cases are reduced to fundamental tasks, navigation, functional tests, data verification, and return navigation; also known as Framework Driven Approach. [Daniel J. Mosley, 2002]
Functional testing: Application of test data derived from the specified functional requirements without regard to the final program structure. Also known as black-box testing.
Gray box testing: Tests involving inputs and outputs, but test design is educated by information about the code or the program operation of a kind that would normally be out of scope of view of the tester.
Gray box testing :Test designed based on the knowledge of algorithm, internal states, architectures, or other high -level descriptions of the program behavior. [Doug Hoffman]
Gray box testing: Examines the activity of back-end components during test case execution. Two types of problems that can be encountered during gray-box testing are A component encounters a failure of some kind, causing the operation to be aborted. The user interface will typically indicate that an error has occurred.
The test executes in full, but the content of the results is incorrect. Somewhere in the system, a component processed data incorrectly, causing the error in the results.

High-level tests: These tests involve testing whole, complete products
Inspection: A formal evaluation technique in which software requirements, design, or code are examined in detail by person or group other than the author to detect faults, violations of development standards, and other problems. A quality improvement process for written material that consists of two dominant components: product (document) improvement and process improvement (document production and inspection).
Integration: The process of combining software components or hardware components or both into overall system.
Integration testing: testing of combined parts of an application to determine if they function together correctly. The ‘parts’ can be code modules, individual applications, client and server applications on a network, etc. This type of testing is especially relevant to client/server and distributed systems.
Integration Testing: Testing conducted after unit and feature testing. The intent is to expose faults in the interactions between software modules and functions. Either top-down or bottom-up approaches can be used. A bottom-up method is preferred, since it leads to earlier unit testing (step-level integration) This method is contrary to the big-band approach where all source modules are combined and tested in one step. The big-band approach to integration should be discouraged.
Interface Tests: Programs that provide test facilities for external interfaces and function calls. Simulation is often used to test external interfaces that currently may not be available for testing or are difficult to control. For example, hardware resources such as hard disks and memory may be difficult to control. Therefore, simulation can provide the characteristics or behaviors for specific function.
Internationalization testing (I18N): testing related to handling foreign text and data within the program. This would include sorting, importing and exporting test and data, correct handling of currency and date and time formats, string parsing, upper and lower case handling and so forth.
Interoperability Testing: which measures the ability of your software to communicate across the network on multiple machines from multiple vendors each of whom may have interpreted a design specification critical to your success differently.
Inter-operability Testing: True inter-operability testing concerns testing for unforeseen interactions with other packages with which your software has no direct connection. In some quarters, inter-operability testing labor equals all other testing combined. This is the kind of testing that I say shouldn be done because it can be done.[from Quality Is Not The Goal. By Boris Beizer, Ph. D.]
Latent bug :A bug that has been dormant (unobserved) in two or more releases. [R. V. Binder, 1999]
Lateral testing: A test design technique based on lateral thinking principals, to identify faults. [Dorothy Graham, 1999]
Load testing: Testing an application under heavy loads, such as testing of a web site under a range of loads to determine at what point the system’s response time degrades or fails.
Load stress test: A test is design to determine how heavy a load the application can handle.
Load-stability test. Test design to determine whether a Web application will remain serviceable over extended time span.
Load isolation test: The workload for this type of test is designed to contain only the subset of test cases that caused the problem in previous testing.
Monkey Testing:(smart monkey testing) Input are generated from probability distributions that reflect actual expected usage statistics — e.g., from user profiles. 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 test 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., the covariance) between these input distribution is taken into account. In all branches of smart monkey testing, the input is considered as a single event.
Maximum Simultaneous Connection testing: This is a test performed to determine the number of connections which the firewall or Web server is capable of handling.
Mutation testing: A testing strategy where small variations to a program are inserted (a mutant), followed by execution of an existing test suite. If the test suite detects the mutant, the mutant is ァメ⌠ retired.ァメ。・If undetected, the test suite must be revised.
Multiple Condition Coverage: A test coverage criteria which requires enough test cases such that all possible combinations of condition outcomes in each decision, and all points of entry, are invoked at least once. Contrast with branch coverage, condition coverage, decision coverage, path coverage, statement coverage.
Negative test: A test whose primary purpose is falsification; that is tests designed to brake the software[B.Beizer1995]
Orthogonal array testing: Technique can be used to reduce the number of combination and provide maximum coverage with a minimum number of TC.Pay attention to the fact that it is an old and proven technique. The OAT was introduced for the first time by Plackett and Burman in 1946 and was implemented by G. Taguchi, 1987
Orthogonal array testing: Mathematical technique to determine which variations of parameters need to be tested.
Oracle: Test Oracle: a mechanism to produce the predicted outcomes to compare with the actual outcomes of the software under test
Parallel Testing: Testing a new or an alternate data processing system with the same source data that is used in another system. The other system is considered as the standard of comparison. Syn: parallel run.
Penetration testing: The process of attacking a host from outside to ascertain remote security vulnerabilities.
Performance Testing: Testing conducted to evaluate the compliance of a system or component with specific performance requirements
Performance testing can be undertaken to: 1) show that the system meets specified performance objectives, 2) tune the system, 3) determine the factors in hardware or software that limit the system’s performance, and 4) project the system’s future load- handling capacity in order to schedule its replacements” [Software System Testing and Quality Assurance. Beizer, 1984, p. 256]
Prior Defect History Testing: Test cases are created or rerun for every defect found in prior tests of the system.
Qualification Testing. (IEEE): Formal testing, usually conducted by the developer for the consumer, to demonstrate that the software meets its specified requirements. See: acceptance testing.
Quality. The degree to which a program possesses a desired combination of attributes that enable it to perform its specified end use.
Quality Assurance (QA) :Consists of planning, coordinating and other strategic activities associated with measuring product quality against external requirements and specifications (process-related activities).
Quality Control (QC) :Consists of monitoring, controlling and other tactical activities associated with the measurement of product quality goals.
Our definition of Quality: Achieving the target (not conformance to requirements as used by many authors) & minimizing the variability of the system under test
Race condition defect: Many concurrent defects result from data-race conditions. A data-race condition may be defined as two accesses to a shared variable, at least one of which is a write, with no mechanism used by either to prevent simultaneous access. However, not all race conditions are defects.
Recovery testing:Testing how well a system recovers from crashes, hardware failures, or other catastrophic problems.
Regression Testing:Testing conducted for the purpose of evaluating whether or not a change to the system (all CM items) has introduced a new failure. Regression testing is often accomplished through the construction, execution and analysis of product and system tests.
Regression Testing: testing that is performed after making a functional improvement or repair to the program. Its purpose is to determine if the change has regressed other aspects of the program
Reengineering:The process of examining and altering an existing system to reconstitute it in a new form. May include reverse engineering (analyzing a system and producing a representation at a higher level of abstraction, such as design from code), restructuring (transforming a system from one representation to another at the same level of abstraction), recommendation (analyzing a system and producing user and support documentation), forward engineering (using software products derived from an existing system, together with new requirements, to produce a new system), and translation (transforming source code from one language to another or from one version of a language to another).
Reference testing: A way of deriving expected outcomes by manually validating a set of actual outcomes. A less rigorous alternative to predicting expected outcomes in advance of test execution.
Reliability testing: Verify the probability of failure free operation of a computer program in a specified environment for a specified time.
Reliability of an object is defined as the probability that it will not fail under specified conditions, over a period of time. The specified conditions are usually taken to be fixed, while the time is taken as an independent variable. Thus reliability is often written R(t) as a function of time t, the probability that the object will not fail within time t.
Any computer user would probably agree that most software is flawed, and the evidence for this is that it does fail. All software flaws are designed in — the software does not break, rather it was always broken. But unless conditions are right to excite the flaw, it will go unnoticed — the software will appear to work properly.
Range Testing: For each input identifies the range over which the system behavior should be the same.
Risk management:An organized process to identify what can go wrong, to quantify and access associated risks, and to implement/control the appropriate approach for preventing or handling each risk identified.
Robust test: A test, that compares a small amount of information, so that unexpected side effects are less likely to affect whether the test passed or fails.
Sanity Testing: typically an initial testing effort to determine if a new software version is performing well enough to accept it for a major testing effort. For example, if the new software is often crashing systems, bogging down systems to a crawl, or destroying databases, the software may not be in a ‘sane’ enough condition to warrant further testing in its current state.
Scalability testing is a subtype of performance test where performance requirements for response time, throughput, and/or utilization are tested as load on the SUT is increased over time.
Sensitive test: A test, that compares a large amount of information, so that it is more likely to defect unexpected differences between the actual and expected outcomes of the test.
Smoke test describes an initial set of tests that determine if a new version of application performs well enough for further testing.
Specification-based test: A test, whose inputs are derived from a specification.
Spike testing. to test performance or recovery behavior when the system under test (SUT) is stressed with a sudden and sharp increase in load should be considered a type of load test.
State-based testing: Testing with test cases developed by modeling the system under test as a state machine
State Transition Testing: Technique in which the states of a system are fist identified and then test cases are written to test the triggers to cause a transition from one condition to another state.
Static testing: Source code analysis. Analysis of source code to expose potential defects.
Statistical testing: A test case design technique in which a model is used of the statistical distribution of the input to construct representative test cases.
Stealth bug. A bug that removes information useful for its diagnosis and correction.
Storage test: Study how memory and space is used by the program, either in resident memory or on disk. If there are limits of these amounts, storage tests attempt to prove that the program will exceed them.
Stress / Load / Volume test: Tests that provide a high degree of activity, either using boundary conditions as inputs or multiple copies of a program executing in parallel as examples.
Structural Testing: (1)(IEEE) Testing that takes into account the internal mechanism [structure] of a system or component. Types include branch testing, path testing, statement testing. (2) Testing to insure each program statement is made to execute during testing and that each program statement performs its intended function. Contrast with functional testing. Syn: white-box testing, glass-box testing, logic driven testing.
System testing: Black-box type testing that is based on overall requirements specifications; covers all combined parts of a system.
Table testing: Test access, security, and data integrity of table entries
Test Bed. An environment containing the hardware, instrumentation, simulators, software tools, and other support elements needed to conduct a test.
Test Case: A set of test inputs, executions, and expected results developed for a particular objective.
Test conditions: The set of circumstances that a test invokes.
Test Coverage: The degree to which a given test or set of tests addresses all specified test cases for a given system or component.
Test Criteria: Decision rules used to determine whether software item or software feature passes or fails a test.
Test data. The actual (set of) values used in the test or that are necessary to execute the test.
Test Documentation. (IEEE) Documentation describing plans for, or results of, the testing of a system or component, Types include test case specification, test incident report, test log, test plan, test procedure, test report.
Test Driver : A software module or application used to invoke a test item and, often, provide test inputs (data), control and monitor execution. A test driver automates the execution of test procedures.
Test Harness : A system of test drivers and other tools to support test execution (e.g., stubs, executable test cases, and test drivers). See: test driver.
Test Item: A software item which is the object of testing.
Test Log :A chronological record of all relevant details about the execution of a test.
Test Plan: A high-level document that defines a testing project so that it can be properly measured and controlled. It defines the test strategy and organized elements of the test life cycle, including resource requirements, project schedule, and test requirements
Test Procedure:A document, providing detailed instructions for the [manual] execution of one or more test cases. Often called – a manual test script.
Test strategy: Describes the general approach and objectives of the test activities.
Test Status: The assessment of the result of running tests on software.
Test Stub: A dummy software component or object used (during development and testing) to simulate the behaviour of a real component. The stub typically provides test output.
Test Suites:A test suite consists of multiple test cases (procedures and data) that are combined and often managed by a test harness.
Test Tree: A physical implementation of Test Suite.
Testability: Attributes of software that bear on the effort needed for validating the modified software
Testing: The execution of tests with the intent of providing that the system and application under test does or does not perform according to the requirements specification.
Unit Testing:. Testing performed to isolate and expose faults and failures as soon as the source code is available, regardless of the external interfaces that may be required. Oftentimes, the detailed design and requirements documents are used as a basis to compare how and what the unit is able to perform. White and black-box testing methods are combined during unit testing.
Usability testing. Testing for ‘user-friendliness’. Clearly this is subjective, and will depend on the targeted end-user or customer.
Validation:The comparison between the actual characteristics of something (e.g. a product of a software project and the expected characteristics).Validation is checking that you have built the right system.
Verification :The comparison between the actual characteristics of something (e.g. a product of a software project) and the specified characteristics.Verification is checking that we have built the system right.
Volume testing: Testing where the system is subjected to large volumes of data.
Walkthrough: In the most usual form of term, a walkthrough is step by step simulation of the execution of a procedure, as when walking through code line by line, with an imagined set of inputs. The term has been extended to the review of material that is not procedural, such as data descriptions, reference manuals, specifications, etc.
White Box Testing (glass-box). Testing is done under a structural testing strategy and require complete access to the object’s structure that is, the source code