Flipkart

Tuesday, 29 November 2016

Guide to Install/Configure "Selenium Webdriver".


In this Tutorial, we learn how to install Selenium Webdriver .
First we need some basic  files which is listed below with download link.

Required Files :
1)      Eclipse (Java Editor) : 
  • For Download Eclipse Click here .There is 32 & 64 bit versions available download as per your system configuration.(Note : if your Operating system is 32 bit than download 32 file else 64 bit file. )
  •  After successful download just install.
2)      JDK 7.0/8.0 and JRE 7.0/8.0 :
  • Download Java From here.
  • If you Work on selenium 2.53(older version) than prefer JDK/JRE 7.0 and work above this version than prefer JDK/JRE 8.0. All Version are available on this download page.
  • There is also 32 & 64 bit Versions available  so download as per your system configuration.
  • After download this install in your system.
3)      Selenium standalone server file (2.53 or 3.0) :
  •    Download Selenium standalone server 3.0 file From here.
  • Download Selenium standalone server 3.0 file From here
  • Always use Same version Selenium stand alone and java client file (Ex. If U download Selenium standalone file 2.53 than you must download selenium Java client file of version 2.53 )
4)      Selenium Java Client File(2.53 or 3.0) :
  • Download Selenium Java Client 3.0 file From here.
  • Download Selenium Java Client 2.53 file From here. 


Now We are learn How to Configure selenium Webdriver in Eclipse.
Follow below steps
  1. Open Eclipse and close welcome screen.
  2. Select location in your System for workspace and Click on Ok where your all program are saved in it.
  3. Follow below steps to Create Project.
    1. Click on File menu Goto New and Select Java Project.
    2. Enter Project Name(Ex.Test) than Click on Next
    3. After Click on Finish.
  4. Create Package in your Project.
    1. Right Click on Project Name 
    2. Goto New and Select Package.
    3. Enter Package Name (Ex. Testpackage) .
  5. Create Class File in your Package.
    1. Right Click on  Package.
    2. Goto New and Select Class.
    3. Enter Class Name (Ex. Testclass) .
    4. select "public static void main(String()args)" Check box.
    5. After Click on Finish.
  6. Configure Selenium Library. 
    1.  Right Click on Project
    2. Goto New and Select Folder.
    3. Enter Folder name.(Ex.mylib).
    4.  Paste "selenium-java-2.53.0" & "selenium-server-standalone-2.53.1" into this folder. if you download "Selenium java client 3.0" & "Selenium standalone server 3.0" than paste it.
    5. After that , Right Click on Project 
    6. Select Build Path Goto Configure Build Path.
    7. Click on Library Tab After Click on Add JARs
    8. Expand your Project than expand folder where you are copy selenium files(in our case it is "mylib") and select all file under folder after click on Ok. 
    9. Click on Apply and Press Ok.
    10. look into project there is one Refrence library added.
  Now  its done, you can run your Web Driver project in Eclipse.if you have any problem than watch video.

Monday, 21 November 2016

What is Software Testing?


Definition of Software Testing

  • It is a process of finding or identifying defects in software is called software testing. It is verifying the functionality of the application against requirements specification.
  •  It is the execution of the software with the intention of finding defects.
  •  It is checking whether the software works according to the requirements.
 There are 3 types of Software testing:

  1. White box testing  also called unit testing or structural testing or glass box testing or transparent testing or open-box testing.
  2. Black box testing – also called as functional testing or behavioral testing.
  3. Grey box testing - combination of both White & Black box testing method.


1) White box testing : 
  • It is done by developers. It is the testing of each and every line of code in the program. 
White box testing consists of the following tests :
  1. Path testing  Write flow graphs and test all the independent paths
  2. Condition testing : Test all the logical conditions for both true and false values i.e, we check for both “if” and “else” condition.
  3. Loop testing : Test the loops(for, while, do-while, etc) for all the cycles and also check for terminating condition if working properly and if the size of the condition is sufficient enough.
Test engineers should not be involved in fixing the bug because,
  1.  if they spend time in fixing the bug, they lose time to catch some more other defects in the Software
  2. fixing a defect might break a lot of other features. Thus, testers should always identify defects and developers should always be involved in fixing defects.
2) Black box testing :
  • It is verifying the functionality ( behavior ) against requirement specifications.
Types of Black Box Testing : 

1.Functional testing : It is Called as component testing

  • Testing each and every component thoroughly (rigorously) against requirement specifications is known as functional testing.
2. Integration Testing : 
  • Testing the data flow or interface between two features is known as integration testing.
3. System Testing : 
  • It is end-to-end testing wherein testing environment is similar to the production environment.
4. Acceptance Testing :

  • Acceptance testing is done by end users. Here, they use the s/w for the business for a particular period of time and check whether the s/w can handle all kinds of real-time business scenarios / situations.
  • end-to-end testing done by engineers sitting in customer’s place. Here, they take real time scenarios and check whether the s/w works or not.

What is Function testing in software testing?

 FUNCTIONAL TESTING :

  • Functional Testing is Type of Black box testing
  • It is also called component testing. Testing each and every component thoroughly (rigorously) against requirement specifications is known as functional testing.

Thus, during testing, we must remember the following points,
  1. We must always start testing the application with the valid data. In the above example for amount transfer, we see that we have entered the valid data 100 only in the 6th test. This should not be done, because if the valid data itself is not taken correctly, then we need not have to waste our time checking for the invalid data
  2. If the application works for valid data, only then we must start testing for invalid data
  3. If the application is not working for 1 of the invalid values, then we can continue testing for all the other invalid values and then submit the test report of all the defects for invalid values.
  4. In testing, we should not assume or propose requirement. If we have any queries, talk to the one who knows the requirements very well and clarify the queries.
  5. We must not do over-testing ( testing for all possible junk values ) or under-testing ( testing for only 1 or 2 values ). We must only try and do optimize testing(testing for only the necessary values- both invalid and valid data).
  6.  We must do both positive testing (testing for valid data) and negative testing (testing for invalid data).

The characteristics of a good requirement :
  1. Unitary ( cohesive ) – the requirement addresses 1 and only 1 thing
  2.  Complete – the requirement is fully stated in 1 place with no missing information
  3. Consistent – the requirement does not contradict any other requirement and is fully consistent with all authoritative external documentation
  4. Non-Conjugated ( Atomic ) – the requirement is atomic i.e, it does not contain certain conjunctions. Ex – “the postal code field must validate American and Canadian postal codes” should be written as two separate requirements : 1) “The postal code field must validate American Postal codes” and 2) “The postal code field must validate Canadian Postal codes”.
  5. Traceable – the requirement meets all or part of a business need as stated by stakeholders and authoritatively documented
  6. Current – the requirement has not been made obsolete by the passage of time
  7. Unambiguous – the requirement is concisely stated without recourse to technical jargon, acronyms etc. it expresses objective facts, not subjective opinions. It is subjective to one and only one interpretation.
  8. Mandatory – the requirement represents a stakeholder defined characteristic the absence of which will result in a deficiency that cannot be ameliorated
  9. Verifiable – the implementation of the requirement can be determined through one of 4 possible methods – inspection, demonstration, test or analysis.

Sunday, 20 November 2016

How to Create your own blog ?

Follow below steps to Create your Own Blog







1. Open Blogger.com
2. Just Click on "Create your Blog" Button
3. Create Google Account If you don't have or just sign in into your Google Account.
4. Click on "New Blog".
5. Enter suitable Title For Your Blog. (Ex: Software Testing)
6. Select Address for your Blog.
below video helping you to understand this easily.


How to Download and install Selenium ide in Firefox?

Follow below steps to download selenium IDE.



  1. open Mozilla Firefox browser.
  2. Click here
  3. Click on "Download now"
  4. After that you will see "Install" option just click on it.
  5. when download finished restart your firefox
  6. Go to "Tools" and click on "selenium IDE"
  7. you can  also  view below video for easy under standing.


Software Testing (Manual) interview questions.


1. What is Priority and severity?
Severity:
  1. This is assigned by the Test Engineer
  2. This is to say how badly the deviation that is occurring is affecting the other modules of the build or release.
  3. severity of a bug would indicate the effect it has on the system in terms of its impact.
Priority:
  1. This is assigned by the Developer.
  2. This is to say how soon the bug as to be fixed in the main code, so that it pass the basic requirement.
  3. in the context of defects, priority of a defect would indicate the urgency with which it would need to be fixed.

Example : The code is to generate some values with some valid input conditions. The priority will be assigned so based on the following conditions:

  • It is not accepting any value
  • It is accepting value but output is in non-defined format (say Unicode Characters).
  • A good example I used some Unicode characters to generate a left defined arrow, it displayed correctly but after saving changes it gave some address value from the Stack of this server. 

2. Give me some example for high severity and low priority defect?

  • If suppose the title of the particular concern is not spelled correctly, it would give a negative impacted ICCI is spelled as a title for the project of the concern ICICI. Then it is a high severity, low priority defect.

3. What is basis for test case review?

  • The main basis for the test case review is
  1.  Testing techniques oriented review
  2. Requirements oriented review
  3. Defects oriented review.
4. What are the contents of SRS documents?

  • Software requirements specifications and Functional requirements specifications.

5. What is difference between the Web application testing and Client Server testing?

  • Testing the application in intranet (without browser) is an example for client -server. (The company firewalls for the server are not open to outside world. Outside people cannot access the application.)So there will be limited number of people using that application.
  • Testing an application in internet (using browser) is called web testing. The application which is accessible by numerous numbers around the world (World Wide Web.)
  • So testing web application, apart from the above said two testing there are many other testing to be done depending on the type of web application we are testing.
  • If it is a secured application (like banking site- we go for security testing etc.)
  • If it is an e-commerce testing application we go for Usability etc… Testing.


6. Explain your web application architecture?
  • Web application is tested in 3 phase.
  1. Web tier testing –> browser compatibility
  2. Middle tier testing –> functionality, security
  3. Data base tier testing –> database integrity, contents.


7.suppose the product/application has to deliver to client at 5.00PM,At that time you or your team member caught a high severity defect at 3PM.(Remember defect is high severity)But the client is cannot wait for long time. You should deliver the product at 5.00Pm exactly. Then what is the procedure you follow?

  • The bug is high severity only so we send the application to the client and find out the severity is priority or not. If its priority then we ask him to wait.

Here we found defects/bugs in the last minute of the delivery or release date
Then we have two options

  1.   Explain the situation to client and ask some more time to fix the bug. 
  2. If the client is not ready to give some time then analyze the impact of defect/bug and try to find workarounds for the defect and mention these issues in the release notes as known issues or known limitations or known bugs. Here the workaround means remedy process to be followed to overcome the defect effect. 
  3. Normally this known issues or known limitations (defects) will be fixed in next version or next release of the software

8. Give me examples for high priority and low severity defects?

  • Suppose in one banking application there is one module ATM Facility. In that ATM facility when ever we are depositing/withdrawing money it is not showing any conformation message but actually at the back end it is happening properly with out any mistake means only missing Of message
  • . In this case as it is happening properly so there is nothing wrong with the application but as end user is not getting any conformation message so he/she will be Confuse for this. So we can consider this issue as HIGH Priority but LOW Severity defects…
9. Explain about Bug life cycle?
  1. Tester-> 
  2. Open defect-> 
  3. Send to developer 
  4. if accepted moves to step5 else sends the bug to tester gain 
  5. Fixed by developer -> 
  6. Regression testing-> 
  7. No problem inbuilt and sign off 
  8. if problem in built reopen the issue send to step3
10. How can you report the defect using excel sheet?
  • To report the defect using excel sheet 
  1. The Future that been effected.
  2.  Test Case ID (Which fail you can even mention any other which are dependency on this bug) 
  3.  Actual Behavior 
  4. Expected Behavior as mentioned in Test Case or EFS or EBS or SRS document with section 
  5. Your Test Setup used during Testing.
  6.  Steps to Re-Produce the bug 
  7.  Additional Info 
  8.  Attach a Screen Shot if it is a GUI bug 
  9.  Which other features it is blocking because of this bug that you are unable to Execute the test cases. 
  10. How much time you took to execute that test case or follow that specific TC
11.If you have executed 100 test cases ,every test case passed but apart from these test case you found some defect for which test case is not prepared,thwn how you can report the bug?

  • While reporting this bug into bug tracking tool you will generate the test case mean put the steps to reproduce the bug.
12. What is the difference between web based application and client server application?
  • The basic difference between web based application & client server application is that the web application are 3 tier & client based are 2 trier.
  • In web based changes are made at one place & it is reflected on other layers also whereas client based separate changes need be installed on client machine also.
13. What is test plan? And can you tell the test plan contents?
  • Test plan is a high level document which explains the test strategy, time lines and available resources in detail. Typically a test plan contains:
  1. Objective 
  2. Test strategy 
  3. Resources 
  4. Entry criteria 
  5. Exit criteria 
  6. Use cases/Test cases 
  7. Tasks 
  8. Features to be tested and not tested 
  9. Risks/Assumptions.
14. How many test cases can you write per a day, an average figure?
  • Complex test cases 4-7 per day.
  •  Medium test cases 10-15 per day 
  • Normal test cases 20-30 per day
15. Who will prepare FRS (functional requirement documents)? What is the important of FRS?
  • The Business Analyst will prepare the FRS.
Based on this we are going to prepare test cases.
It contains
  1.   Over view of the project 
  2. Page elements of the Application (Filed Names) 
  3. Prototype of the of the application 
  4. Business rules and Error States 
  5. Data Flow diagrams 
  6. Use cases contains Actor and Actions and System Responses
16. How you can decide the number of test cases is enough for testing the given module?
  • The developed test cases are covered all the functionality of the application we can say test cases are enough. If u knows the functionality covered or not u can use RTM.
17. What is the difference between Retesting and Data Driven Testing?
  • Retesting: it is manual process in which application will be tested with entire new set of data.
  • Data Driven Testing(DDT)-It is a Automated testing process in which application is tested with multiple test dated is very easy procedure than retesting because the tester should sit and need to give different new inputs manually from front end and it is very tedious and boring Procedure.
18. What is regression testing?
  • After the Bug fixed, testing the application whether the fixed bug is affecting remaining functionality of the application or not.Majorly in regression testing Bug fixed module and it’s Connected modules are checked for their integrity after bug fixation.
19. How does u test web application?
  • Web application testing
Web application should have the following features like
  1. Attractive User Interface (logos, fonts, alignment) 
  2. High Usability options 
  3. Security features (if it has login feature) 
  4. Database (back end)
  5.  Performance (appearing speed of the application on client system) 
  6. Able to work on different Browsers (Browser compatibility), O.S compatibility (technically called as portability) 
  7. Broken link testing………etc
so we need to follow out the following test strategy.
  1. Functionality Testing.
  2.  Performance Testing (Load, volume, Stress, Scalability) 
  3. Usability Testing 
  4. User Interface Testing (colors, fonts, alignments…) 
  5. Security Testing 
  6. Browser compatibility Testing (different versions and different browser) 
  7. Broken link and Navigation Testing.
  8. Database (back end) Testing (data integrity) 
  9. Portability testing (Multi O.s Support)….etc
20. How does u perform regression testing, means what test cases u select for regression?
  • Regression testing will be conducted after any bug fixed or any functionality changed.
  • During defect fixing procedure some part of coding may be changed or functionality may be manipulated. In this case the old test cases will be updated or completely re written
  • According to new features of the application where bug fixed area. Here possible areas are old test cases will be executed as usual or some new test cases will be added to existing test cases or some test cases may be deleted.