Sunday, August 3, 2014

Top 15 "Manual Testing" Interview Questions and Answer :)

Q 1: What's the difference between QA and testing?


Ans.:  *TESTING means "quality control"
*QUALITY CONTROL measures the quality of a product    
*QUALITY ASSURANCE measures the quality of processes used To create a quality product.

Q 2: What is black box/white box testing?


Ans.: Black-box and white-box are test design methods.  Black-box test design Treats the system as a "black-box", so it doesn't explicitly use Knowledge of the internal structure.  Black-box test design is usually Described as focusing on testing functional requirements.  Synonyms for Black-box include:  behavioral, functional, opaque-box, and Closed-box. White-box test design allows one to peek inside the "box", And it focuses specifically on using internal knowledge of the software to guide the selection of test data.  Synonyms for white-box include: Structural, glass-box and clear-box. While black-box and white-box are terms that are still in popular use, Many people prefer the terms "behavioral" and "structural".  Behavioral test design is slightly different from black-box test design because the use of internal knowledge isn't strictly forbidden, but it's still discouraged. 

 Q 3: What's the difference between load and stress testing?


Ans.: Load testing is to test that if the application works fine with the loads that result from large number of simultaneous users, transactions and to determine weather it can handle peak usage periods. Stress testing is a form of testing which is used to determine the stability of a given system or entity. It involves testing beyond normal operational capacity, often to a breaking point, in order to observe the results. For example, a web server may be stress tested using scripts, bots, and various denials of service tools to observe the performance of a web site during peak loads. Stress testing a subset of load testing.

Q 4: What is a 'Walk-Through'?


Ans.: A 'walk-through' is an informal meeting for evaluation or informational purposes. Little or no preparation is usually required.

Q 5: Who is responsible for integration testing?


Ans: Team leader along with developers.

Q 6: Is performance testing part of System testing?

Ans: Yes

Q 7: Is system testing perform before unit testing?

Ans : No

Q 8: What is software Test plan? Mention major items of a test plan document.


Ans: A software project test plan is a document that describes the objectives, scope, approach, and focus of a software testing effort. The process of preparing a test plan is a useful way to think through the efforts needed to validate the acceptability of a software product. The completed document will help people outside the test group understand the 'why' and 'how' of product validation. It should be thorough enough to be useful but not so thorough that no one outside the test group will read it. The following are some of the items that might be included in a test plan, depending on the particular project:

1. Objective

2. Product Details

•           Product Identification
•           Features to be tested
•           Features not to be tested
•           Acceptance Criteria 

3. Test Plan

•           Test Item
•           Test Deliverable 
•           Testing Process
•           Overview of test cycle
•           Formal Review Points
•           Test Environment
•           Resource
•           Security
•           System Test Setup
•           Schedule
•           Test Procedure
•           Entrance Criteria
•           Suspension Criteria
•           Resumption Criteria
•           Exit Criteria
•           Error Measurement / Management System
•           Error Reporting
•           Error Classification

4. Testing Types

•           Types of testing to be performed for the project.

5. Appendix

•           Defect Summary
•           Reference Documents

 Q 9: What should be the entry criteria and Deliverable's for system testing?


Ans: Although this is subjective and specific to project, but generally the entry criteria should be:
•           All human resources must be available and assigned the task.
•           Unit test cases should be prepared before coding.
•           All developed code must be unit tested.
•           System test cases should be prepared before start of system testing.
•           All test hardware and environments must be in place, and free for System test use.

Deliverables should be the integration tested build along with installation guide and release notes.
           

Q 10: How can it be known when to stop testing?


Ans: This can be difficult to determine. Many modern software applications are so Complex, and run in such an interdependent environment, that complete testing can never be done. Common factors in deciding when to stop are:
•           Deadlines (release deadlines, testing deadlines, etc.)
•           Test cases completed with certain percentage passed
•           Test budget depleted
•           Coverage of code/functionality/requirements reaches a specified point
•           Bug rate falls below a certain level
•           Beta or alpha testing period ends

Q 11: What is the priority and severity of the bug? Explain with example a scenario, With high priority and low severity and vice versa.


Ans.: Severity of a bug describes the impact of a bug.

Blocker           Blocks development and/or testing work
Critical:           Crashes, loss of data, severe memory leak
Major:            Major loss of function
Minor:            Minor loss of function, or other problem where easy workaround is present
Trivial:            Cosmetic problem like misspelled words or misaligned text
Enhancement: Request for enhancement

Priority describes the importance and order in which a bug should be fixed. This field is utilized by the programmers/engineers to prioritize their work to be done. The available priorities range from P1 (most important) to P5 (least important.)

Example: Any look and feel issues like spelling mistake on an UI is less severe, but if the product is going for beta testing, priority of bug to fix is higher.

Similarly any exception coming on a particular operation has high severity, but that module is not to be delivered right now, so this bug can have low priority.


Q 12: Explain various States of bug, can a bug be new after it is resolved?


Ans:     Mainly a bug can be in either open state or it can be in end state.Open state comprises of Unconfirmed, New, Assigned and Reopened. End State comprises of Resolved, Verified and Closed. No a bug can not be new after it is resolved, it should have state Reopen.

Q 13: What is word deferred means in terms of bug life cycle? When a bug is Deferred?


Ans: Deferred means postponing the resolution of the bug. When any bug is found valid, but due to skill or time restrictions, it is planned to resolved later, bug is send to deferred stated.

Q 14:  What are the various points a tester should ensure before entering a bug?


Ans:     1. Make sure the bug has not been previously reported.
            2. Be sure you’ve reproduced your bug using the latest build released.

Q 15: Explain any two qualities of a useful bug report.


Ans: A useful bug report has two qualities:
1. Reproducible :  If the developer can’t see it or conclusively prove that it exists, he’ll mark it as “WORKSFORME” or “NOTREPRODUCIBILE”. Every relevant details you can provide helps.
2. Specific :  The quicker the engineer can isolate the issue to a specific problem, the more likely it’ll be expediently fixed.


Tuesday, July 8, 2014

What is the difference between SDLC and STLC?


Software Development Life Cycle involves the complete Verification and Validation of a Process or a Project. Whereas Software Testing Life Cycle involves only Validation. Analysis, Design, Software requirement specifications, Development Process (Coding and Application development), Testing Process (Preparation Of Test Plan, Preparation of Test cases, Testing, Bug reporting, Test Logs & Test Reports), Release and Maintenance. Whereas Software Testing Life Cycle involves Preparation of Test Plan, Preparation of Test cases, Test execution, Bug reporting & Tracking, Regression Testing and Test Closure.
STLC is a Part of SDLC. Software Development Life Cycle involves business requirement specifications.


Monday, November 18, 2013

High Severity And Low Priority and High priority -Low severity

High Severity And Low Priority :- If there is an application if that application crashes after multiple use of any functionality.
Eg. :- save Button use 150 times then that application will crash

Means High Severity because application crashed but Low Priority because no need to debug right now you can debug it after some days.

High priority -Low severity - Wrong spelling in Company logos displayed in the application.

Monday, August 12, 2013

In simple way to understand Load stress and performance Testing.

Load testing:
Load testing is a test to check the user’s response time, of number of users using any one scenario (single business process) of the same application at the same time.

Stress testing:
This type of testing the application is tested against heavy load such as complex numerical values, large number of inputs, large number of queries etc. which checks for the stress/load the applications can withstand.

Performance testing:
Performance testing is a test to check the user’s response time of number of users using multiple scenarios (multiple business process) of the same application at the same time.

Monday, August 5, 2013

"Use-Full" Test Cases for Mobile App like: Call, GPS, Network, Orientation, Sound, Lock/Unlock

GPS in background application can get or locate the location through app in background only for some time .


application in foreground can update location everytime and the symbol of GPS will be displayed every time.


if location service is off for a particular app from settings than a message should be displayed for the user to “ON” the Gps from settings.
call in foreground application will be immediately get in background as soon as call comes and if user receives the call and than run the application the design of the application should not be disturbed.

in background same applies
network
application should give proper message to the user when ever there is no network.


application should detect the network automatically as network comes.
orientiation
as per requirement of the client we should check the orientation of application.


UI should be clear in both the orientation.
audio file in background when user is playing an audio file and make the app in background than file sound should get stop. And when again user have to play the file when come back in foreground.
application in background application should be get stopped it activity or any service hit in background.
sound activity if device in silent mode when device is in silent mode than the application sound should not be heared.
lock and unlock device
if user lock the device and than unlock than check the behaviour of the application .

What is Push Notifications?

Push Notifications are messages that are sent to users who have opted in to receive them.
Notification’ means providing information.

Activity Test Cases:
Notification in foreground when notification comes in foreground than the notificaton will display directly on app.

background when notification comes and device is locked , if user open the device with sliding the notification than the application should get launch.


when notification comes and device is not locked than the notification comes in banner if user click on the banner than the application launch and if user is unable to click on banner than the notification with showed in the notification tray. From the notification tray user can click on the notification and user can move to the application.


when notification and user didn't click on banner than the notification count should get updated on the icon of the application.

Thursday, August 1, 2013

What is the advantage of Symbian OS devices comparing with J2me and Brew OS devices?

  • - Symbian is the latest OS where as j2me and Brew OSs are old ones.
  • - Symbian OS has SIS file format where as j2me has JAR file format which means this is a third party software and anybody can develop softwares in this OS.
  • - Symbian is a fast browsing and a fast operating system. j2me is not as fast.
  • - Symbian OS provide touchscreen phones such as UIQ phones. No such facility on j2me.
  • - Symbain OS has superior hardware access to the phone compared to j2me and Brew OS
  • - Symbian OS offers rich UI.

Difference between Smoke & Sanity Software Testing

Smoke Testing: Software Testing done to ensure that whether the build can be accepted for through software testing or not. Basically, it is done to check the stability of the build received for software testing.

Sanity testing: After receiving a build with minor changes in the code or functionality, a subset of regression test cases are executed that to check whether it rectified the software bugs or issues and no other software bug is introduced by the changes. Sometimes, when multiple cycles of regression testing are executed, sanity testing of the software can be done at later cycles after through regression test cycles. If we are moving a build from staging / testing server to production server, sanity testing of the software application can be done to check that whether the build is sane enough to move to further at production server or not.

Difference between Smoke & Sanity Software Testing:
  • Smoke testing is a wide approach where all areas of the software application are tested without getting into too deep. However, a sanity software testing is a narrow regression testing with a focus on one or a small set of areas of functionality of the software application.
  • The test cases for smoke testing of the software can be either manual or automated. However, a sanity test is generally without test scripts or test cases.
  • Smoke testing is done to ensure whether the main functions of the software application are working or not. During smoke testing of the software, we do not go into finer details. However, sanity testing is a cursory software testing type. It is done whenever a quick round of software testing can prove that the software application is functioning according to business / functional requirements.
  • Smoke testing of the software application is done to check whether the build can be accepted for through software testing. Sanity testing of the software is to ensure whether the requirements are met or not.

Thursday, October 18, 2012

Functional and Non Functional Testing

Functional Testing: Testing the application against business requirements. Functional testing is done using the functional specifications provided by the client or by using the design specifications like use cases provided by the design team.
Functional Testing covers:
·      Unit Testing
·      Smoke testing / Sanity testing
·      Integration Testing (Top Down, Bottom up Testing)
·      Interface & Usability Testing
·      System Testing
·      Regression Testing
·      Pre User Acceptance Testing(Alpha & Beta)
·      User Acceptance Testing
·      White Box & Black Box Testing
·      Globalization & Localization Testing
Non-Functional Testing: Testing the application against client's and performance requirement. Non-Functioning testing is done based on the requirements and test scenarios defined by the client.
Non-Functional Testing covers:
·      Load and Performance Testing
·      Ergonomics Testing
·      Stress & Volume Testing
·      Compatibility & Migration Testing
·      Data Conversion Testing
·      Security / Penetration Testing
·      Operational Readiness Testing
·      Installation Testing
·      Security Testing (Application Security, Network Security, System Security)



Saturday, July 7, 2012

How to create test plan in Jmeter ?



1. Download the binary

You can get the binary here.

2. Unzip the tarball/zip file

I extracted it file to 
/Users/theo/tools/jakarta-jmeter-2.3.1
3. Start up JMeter- It seem like to (Double click on Jmeter.bat files)

 Create a Test Plan:

4. Create a Thread Group:

Thread Group:
Thread Group is the beginning point of any Test Plan. Thread Group is set of request that simulate the user actions and all the elements of Test Plan should be under Thread Group. It works like LoadRunner Scenario. In Thread Group we define the Number of User, Ramp Up, and Loop Count.
  • Number of Thread (User), as a name we define the number of users, who will simulate the performance test steps.
  • Ramp-Up option used to set the time that waited between each and every user run. Suppose if you have define 5 then each and every user will activate after 5 seconds. All the time will be in seconds.
  • Loop Count is the option where we set that how many times users will repeat the actions.

5. Add a Sampler: With the help of sampler JMeter send the request to web server.
A sampler is a type of request you want to make. In this example, I used an HTTP request to test load to a web server. It’s good to note JMeter supports multiple types of samplers including web services, JMS, and JDBC. Add a sampler by selecting the Thread Group you just created, right-click, select Add -> Sampler -> HTTP Request.
Configurable properties include:
  • Server Name – what the ip or url is to the server the request it to
  • Port – the port the server is listening to
  • Protocol – the protocol (http, https, etc)
  • Method – HTTP method (POST,GET, PUT, DELETE, etc)
  • Path – the URL path to request
6. Add a Listener:
 Listener is same as Result window of any tools. It will help to analyze the test result. JMeter provides different kind of Listener which we used according to our needs.
See JMeter is having lots of element of Test Plan but these are enough to create sample script for Web Application. For the more details about Test Plan element refer this link.

7. Run the test!