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

Some user full test case for mobile app like: Call, GPS, Network, Orientation, sound, lock/unlock Application

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.

Tuesday, May 21, 2013

Complete Web Application Testing Checklist



While testing the web applications, one should consider the below mentioned checklist. The below mentioned checklist is almost applicable for all types of web applications depending on the business requirements.
The web application checklist consists of: -
  • Usability Testing
  • Functional Testing
  • Compatibility Testing
  • Database Testing
  • Security Testing
  • Performance Testing


Now let’s look each checklist in detail:

Usability Testing

What is Usability Testing?
  • Usability testing is nothing but the User-friendliness check.
  • In Usability testing,  the application flow is tested so that a new user can understand the application easily.
  • Basically, system navigation is checked in Usability testing.
What is the purpose or Goal of Usability testing?
A Usability test establishes the ease of use and effectiveness of a product using a standard Usability test practices.
Usability Test Scenarios:
  • Web page content should be correct without any spelling or grammatical errors
  • All fonts should be same as per the requirements.
  • All the text should be properly aligned.
  • All the error messages should be correct without any spelling or grammatical errors and the error message should match with the field label.
  • Tool tip text should be there for every field.
  • All the fields should be properly aligned.
  • Enough space should be provided between field labels, columns, rows, and error messages.
  • All the buttons should be in a standard format and size.
  • Home link should be there on every single page.
  • Disabled fields should be grayed out.
  • Check for broken links and images.
  • Confirmation message should be displayed for any kind of update and delete operation.
  • Check the site on different resolutions (640 x 480, 600x800 etc.?)
  • Check the end user can run the system without frustration.
  • Check the tab should work properly.
  • Scroll bar should appear only if required.
  • If there is an error message on submit, the information filled by the user should be there.
  • Title should display on each web page
  • All fields (Textbox, dropdown, radio button etc) and buttons should be accessible by keyboard shortcuts and the user should be able to perform all operations by using keyboard.
  • Check if the dropdown data is not truncated due to the field size and also check whether the data is hardcoded or managed via administrator.

Functional Testing:

What is Functional Testing?

  • Testing the features and operational behavior of a product to ensure they correspond to its specifications.
  • Testing that ignores the internal mechanism of a system or component and focuses solely on the outputs generated in response to selected inputs and execution conditions.
What is the purpose or Goal of Functional testing?
  • The goal of Functional testing is to verify whether your product meets the intended functional specifications mentioned in your development documentation.
Functional Test Scenarios:
  • Test all the mandatory fields should be validated.
  • Test the asterisk sign should display for all the mandatory fields.
  • Test the system should not display the error message for optional fields.
  • Test that leap years are validated correctly & do not cause errors/miscalculations.
  • Test the numeric fields should not accept the alphabets and proper error message should display.
  • Test for negative numbers if allowed for numeric fields.
  • Test division by zero should be handled properly for calculations.
  • Test the max length of every field to ensure the data is not truncated.
  • Test the pop up message (“This field is limited to 500 characters) should display if the data reaches  the maximum size of the field.
  • Test that a confirmation message should display for update and delete operations.
  • Test the amount values should display in currency format.
  • Test all input fields for special characters.
  • Test the timeout functionality.
  • Test the Sorting functionality.
  • Test the functionality of the buttons available
  • Test the Privacy Policy & FAQ is clearly defined and should be available for users.
  • Test if any functionality fails the user gets redirected to the custom error page.
  • Test all the uploaded documents are opened properly.
  • Test the user should be able to download the uploaded files.
  • Test the email functionality of the system.
  • Test the java script is properly working in different browsers (IE, Firefox, Chrome, safari and Opera).
  • Test to see what happens if a user deletes cookies while in the site.
  • Test to see what happens if a user deletes cookies after visiting a site.
  • Test all the data inside combo/list box is arranged in chronological order.

Compatibility Testing:

What is Compatibility testing?
  • Comp ability testing is used to determine if your software is compatible with other elements of a system with which it should operate, e.g. Browsers, Operating Systems, or hardware.
What is the purpose or Goal of Compatibility testing?
  • The purpose of Comp ability testing is to evaluate how well software performs in a particular browser, Operating Systems, hardware or software.
Comp ability Test Scenarios:
  • Test the website in different browsers (IE, Firefox, Chrome, Safari and Opera) and ensure the website is displaying properly.
  • Test the HTML version being used is compatible with appropriate browser versions.
  • Test the images display correctly in different browsers.
  • Test the fonts are usable in different browsers.
  • Test the java script code is usable in different browsers.
  • Test the Animated GIF’s across different browsers.

Tool for Compatibility Testing:
Spoon.net: Spoon.net provides access to thousands of applications (Browsers) without any installs. This tool helps you to test your application on different browsers on one single machine.

Database Testing:

What is Database Testing?
  • In Database testing backend records are tested which have been inserted through the web or desktop applications. The data which is displaying in the web application should match with the data stored in the Database.
To perform the Database testing, the tester should be aware of the below mentioned points:
  • The tester should understand the functional requirements, business logic, application flow and database design thoroughly.
  • The tester should figure out the tables, triggers, store procedures, views and cursors used for the application.
  • The tester should understand the logic of the triggers, store procedures, views and cursors created.
  • The tester should figure out the tables which get affected when insert update and delete (DML) operations are performed through the web or desktop applications.
With the help of the above mentioned points,  the tester can easily write the test scenarios for Database testing.
Test Scenarios for Database Testing:
  • Verify the database name:  The database name should match with the specifications.
  • Verify the Tables, columns, column types and defaults: All things should match with the specifications.
  • Verify whether the column allows a null or not.
  • Verify the Primary and foreign key of each table.
  • Verify the Stored Procedure:
  • Test whether the Stored procedure is installed or not.
  • Verify the Stored procedure name
  • Verify the parameter names, types and number of parameters.
  • Test the parameters if they are required or not.
  • Test the stored procedure by deleting some parameters
  • Test when the output is zero, the zero records should be affected.
  • Test the stored procedure by writing simple SQL queries.
  • Test whether the stored procedure returns the values
  • Test the stored procedure with sample input data.
  • Verify the behavior of each flag in the table.
  • Verify the data gets properly saved into the database after the each page submission.
  • Verify the data if the DML (Update, delete and insert) operations are performed.
  • Check the length of every field: The field length in the back end and front end must be same.
  • Verify the database names of QA, UAT and production. The names should be unique.
  • Verify the encrypted data in the database.
  • Verify the database size. Also test the response time of each query executed.
  • Verify the data displayed on the front end and make sure it is same in the back end.
  • Verify the data validity by inserting the invalid data in the database.
  • Verify the Triggers.

What is Security Testing?

Security Testing involves the test to identify any flaws and gaps from a security point of view.
Test Scenarios for Security Testing:
  1. Verify the web page which contains important data like password, credit card numbers, secret answers for security question etc should be submitted via HTTPS (SSL).
  2. Verify the important information like password, credit card numbers etc should display in encrypted format.
  3. Verify password rules are implemented on all authentication pages like Registration, forgot password, change password.
  4. Verify if the password is changed the user should not be able to login with the old password.
  5. Verify the error messages should not display any important information.
  6. Verify if the user is logged out from the system or user session was expired, the user should not be able to navigate the site.
  7. Verify to access the secured and non secured web pages directly without login.
  8. Verify the “View Source code” option is disabled and should not be visible to the user.
  9. Verify the user account gets locked out if the user is entering the wrong password several times.
  10. Verify the cookies should not store passwords.
  11. Verify if, any functionality is not working, the system should not display any application, server, or database information. Instead, it should display the custom error page.
  12. Verify the SQL injection attacks.
  13. Verify the user roles and their rights. For Example The requestor should not be able to access the admin page.
  14. Verify the important operations are written in log files, and that information should be traceable.
  15. Verify the session values are in an encrypted format in the address bar.
  16. Verify the cookie information is stored in encrypted format.
  17. Verify the application for Brute Force Attacks

What is Performance Testing?

Performance testing is conducted to evaluate the compliance of a system or component with specified performance requirements.
General Test scenarios:
  • To determine the performance, stability and scalability of an application under different load conditions.
  • To determine if the current architecture can support the application at peak user levels.
  • To determine which configuration sizing provides the best performance level.
  • To identify application and infrastructure bottlenecks.
  • To determine if the new version of the software adversely had an impact on response time.
  • To evaluate product and/or hardware to determine if it can handle projected load volumes.

How to do Performance testing? By Manual Testing or by Automation

Practically it is not possible to do the performance testing manually because of some drawbacks like:
  • More number of resources will be required.
  • Simultaneous actions are not possible.
  • Proper system monitoring is not available.
  • Not easy to perform the repetitive task.

Hence to overcome the above problems we should use Performance testing tool. Below is the list of some popular testing tools.
  • Apache JMeter
  • Load Runner
  • Borland Silk Performer.
  • Rational Performance Tester
  • WAPT
  • NEO LOAD




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!