Welcome To User Friendly Software Technical concepts

This Blog contains information of various technical concepts,The concepts are precise,informative with examples.visitors can easily understand the concepts of different technical related subjects like software Testing concepts , practice questions on sql And JMeter(Open source automation tool ) for Performance testing of an web application and about selenium tool used for functional testing of an web application

Sunday, June 26, 2011

Unit Testing

Unit Testing

A smallest separable portion in the Source code of  the software application
such as Programs,functions,methods,procedures etc are called Units
Testing conducted on these units to check does the code behind the Units
is working as expected or not.


This is also called as component testing or Module testing



Saturday, June 25, 2011

checklist for web based application


Things to be checked before delivering the website/portal - Its a kind of Check List
1. Functionality according to requirements
2. Alignments of all pages in all the browsers
3. Check for the content Visibility and correctness
4. Appropriate alert messages
5. Client side validations
6. Server side validations
7. Session should be handled in all the pages
8. Navigation- should be easy to the end user
9. There should not be any orphan links on the page,
10. There should not be any 404 errors
11. Common header and footer should be there for all the pages in the site
12. External links should be opened in the separate widow
13. Appropriate titles should be placed for each and every page
14. Approval of the registration/photos/videos should be checked
15. Check for the actions like Add,Edit,Delete,Status,linking
16. Data added should get reflected in other pages
17. Is email/sms alerts functionality is working all over the site
18. Is cron has set according to the client's requirement
19. Is third party tools are getting integrated properly with out alignment,authentication,session problems
20. Check with the sql injections with all the possible alternatives
21. Check for the url injections with all the possible alternatives
22. Check for the access levels
23. Check the data for spaces before and after the text provided
24. Check for the alignments for different resolutions
25. Check for mac os
26. Font help should be placed if portal is in other regional languages
27. Check for word count if there are multiple row text box
28. check for the used links should be  turn into red in color


Friday, June 24, 2011

Configuration Management Tool Subversion

Subversion

 Configuration Management Tool

Configuration management (CM) is the detailed recording and updating of
 information that describes an enterprise's hardware and software.Such
information typically includes the versions and updates of software code or
documents like Customer requirement document or System requirement document.

1)A client need to update changes to the  requirement , Team lead need to update the
testcases in to the testcases document .Management needs to update their objectives
to the strategy document.Configuration management tool will be used to acheive this process
2)saving the documents in a secure repository. In case if system crashes anyone
can get a copy of document from the server.


Tortoise Svn

Tortoise Svn 1.6.3 : client machine and
Svn server 2.1.5 :a server which will record /stores the version updates.

What Is Subversion?



Subversion is a free/open source version control system. That is, Subversion manages files and directories, and the changes made to them, over time. This allows you to recover older versions of your data or examine the history of how your data changed.

Subversion can operate across networks, which allows it to be used by people on different computers. At some level, the ability for various people to modify and manage the same set of data from their respective locations

Follow these steps to work with SVN

1) Installing The SVN Server

While installing SVN Server Select Authentication: As Windows Authentication

After Installation:

2) To Create a Repository:

  • Right Click on Repositories and select Create New Repository.
Repository is a storage area of all the documents like SRS,testplan,testcases,testdata,
Test case execution report,incident report. etc....
  • Give any name to that folder and click OK.
Now your repository is created successfully

3)To Create a project in the repository copy the project from Source.

Say the source is on Desktop with Name Test.

Right click on repository and copy the URL


Right Click on the Source folder ( Test) select Tortoise SVN ->
Import Where the URL of Repository has to be given to Transfer the Project
to repository.

The Domain username and Password will be used to login
and click ok.

All the files from the source are being added to Repository.We no longer require
 the source file which is present on the desktop as the project is stored in the repository.


3) Working Copy:
As the Project can’t be directly edited from Repository the working place has to be
 created in the local system.

• The working place which is selected in this document (Test work)

• The selected files or the entire project from the repository can be checked out to the
Work place(Testwork)


This is done by using SVN Checkout option by right clicking on the work
folder(Testwork).

After checking out the file from Repository the folder looks with green colour
with right mark.


The Green color indicates that the project is up to date with repository.

The changes done in the working copy has to be committed back to repository to
reflect in theRepository.

This is done by SVN Commit option.

Scenario:

This Document is editing the  file from the work place the changes made to this
are to be committed back to Repository.

Initially the predefined functions are been commented as it is not required.

Save the file the file now will show the red mark which indicated that the file is not
 been updated to repository.


Right click on folder which you want and Select SVN commit:

After Commiting the modifications Different Options are available for the User

Option can be selected for the file by Right clicking on the file TortoiseSVN:

Options
1)Tortoise SVN->Diff With previous version shows the editions made to the file.

2)Tortoise SVN->ShowLog: Shows the list of the users editing the file each time.

3)Tortoise SVN->Get Lock:
Get Lock is used to Lock the file by any user and for not letting other user to
edit the file.

4)To unlock the file Tortoise SVN->Release Lock.

5)When conflict occurs between two clients they can User resolve the conflict option
  Tortoise SVN->Resolve the conflict either Their or Mines.This should done
  before commiting the folder to the sever.Any one user can do this.

Conflict Means modifications done for the same code of a file by two persons

6)Tortoise svn->Revert
when client dont want to update the  modifications of the code he revert  it
 to get back pervious code.

7)Tortoise svn-> Repo browser
  client can see number of versions of the documents

8)Tortoise SVN->Branch/Tag:
   To use the Tag Option -> Right click on the file select Tortoise SVN->Branch/Tag

Scenario:

When the folder  is ready to release to client, You can create a Tag in the
 repository which indicates the code in Tag Folder is ready to release.

A folder is created in Repository with name tags which contain this folder that is
ready to release to client.

Tortoise SVN->Switch:
Switch command is used to switch the working copy from one folder to the other folder.

Tortoise SVN->Export
Export is used to export document from the server and cant modify that file .Final release

Monday, May 9, 2011

Test Link 1.7.3

Test Link

An open source test management tool. It enables creation and organization of test cases and helps manage into test plan. Allows execution of test cases from test link itself. One can easily track test results dynamically, generate reports, generate test metrics, prioritize test cases and assign unfinished tasks.

Link :http://testlink.org/demo/login.php?note=expired

To add New Project:


1 Click on Create New test project under Test Project Management

2 Give the name of the project in Name field in Test Project Create Window.

3 Enable Requirements functionality:If you select option as 'yes'  Requirement
   specification document link will be displayed under Requirements(at the left pane)
   in the Home page so that you can specify the requirement functionalities for the
   project.
 
   If you select option as  'No' Requirement specification document link will not
be displayed under Requirements in Home page.

   Test Project Create Window
 
There is an option to Update,Inactivate and Delete the project.

After Creating the project,Name of project  will  be displayed at Top right
of the Home page in Test project dropdown.








To add Test Suite to your Project

1.Select your New project in Test Project dropdown.
2. Click on “Specification”.
3. Click on “project (at the Left Pane of the Page) to add Test suite.
5. Click on New Test Suite tab.
4. Give it a name .Then Click on Create Test Suite at the Top of the window
    and Click Update Tree.
To add Test Cases to your Test Suite

Test Suite:A set of several test cases for a component or system under test, where the post condition of one test is often used as the precondition for the next one.

Click on Test Suite and Create Test cases  and Click on Update Tree





Create a Test plan by clicking on Test plan Management in the Home Page
To Add Test Cases to Test Plan

1. Click on “Add Test Cases” under Test Plan Contents in the Home page
2. Click on Test suite under project
3. Select Test cases and Click on Add Selected Button at the Bottom

To Assign Test Case Execution to the User
1. Click on “Assign Test case Execution” under Test Plan Management in the Home page
2. Select the user for the Test Case and Click on save Button at the Bottom

To Execute Test Cases

First Create a build for execution
Build:Users can filter test cases by builds. Builds are the basic component for how test cases are tracked. Each test case may be run once and only once per build. Builds can be created by leads using the Create New Build page.

1 Click on “Execute Tests ” under Test Execution in the Home page
select the assigned to person (Test cases assgined person)
2 Click on Test cases under Test Suite
3 Select the Status Passed or Failed or Blocked
4 Click on Save Execution
5 If Test case is failed mention the bug id in note and attach the screen shot for the same.

To add Requirement specification for your project
Click on “Requirement specification document “Under Requirements in the Home page






Give  name for the Requirement and introduction info if available from SRS. Then click “Create” button

Click on the project and import any screenshots or any files if necessary and also we can create test cases from the requirement itself




General features


•User web based GUI (Mozilla, Firefox, IE 6 compatible). You can access it from
everywhere without installation.


Large team can divided his products to test projects. Each test project has
own user rights,test specification, software requirements and Test plans.


•Multiple projects support

•Test cases are organized in hierarchical structure (tree menu) into Test Specification.
History of each test case is traceable. Keywords are supported to bring more depth
 to test organization.

•Users have defined roles in project (for example leader, tester, etc.)

•User can track the test results

Click on Results on top of page
.To know the Execution Status of your test cases click Failed Test Cases,Passed
Test cases and Blocked Test cases


Overall Build Status displays a Summary of passed test case percent,
Failed test case percent ,Blocked test case percent and percent of test cases
which are not executed(Not Run)









Thursday, February 17, 2011

How to Analyze JMeter results


 Response Time:

The time it takes between  request and complete download of response

How to analyze the scenario for which response has to calculated.

Most of the people will give the priority to performing  the performance
of  login scenerio.First we should analyze which is the critical functionality
in  the application.

For Example :

In Banking application after logging most of the people transfer the 
amount . Such kind of Functionalities response time has to be 
Performed along with login scenario.

Most of the testers will be worried about what should be maximum 
response time of the request. Max is 10 sec.It also depends on
requirement and Business needs.

 

When total response time exceeds the time given in the requirement. Then the test case is said to be failed.

Developers will check the code through  profiler.

Profiler is a program that examines your application as it runs.
It provides you with useful run time information such as time spent
in particular code blocks, memory / heap utilization, number of
instances of particular objects in memory, etc.
 

When there is no problem with the code ,developer has to check the
architecture or configuration of data base or else they have to tune 
the server.


Response time increases exponentially as load increases,and 

response time should be less for a request.

Throughput:

It determines the capability of a system or product in

handling multiple request No of  multiple request per sec
and Throughput should be less.

If throughput is more than the mentioned in the requirement .
Developer has to tune the application server.

JMeter measures throughput as samples (requests) or 

samples or received data  per unit time. It can be per min
or per sec.

Latency:

The delay caused by the application ,Operating system and by the environment  that are calculated separately.

For example:
For a request
Load Time: 1624
Latency: 1208
 

Actual response time/load time Should  be


Load Time - Latency
1624-1208=416
 

But due to some problems in the application or operating
system or by the environment a delay is caused that is
known as latency.

Median:
 

Median is a number which divides the samples into two
equal halves. Half of the samples are smaller than the
median,and half are larger.

For example Sample times for the requests will be
1624
1625
430
1619
430
1651
433
434
454
428
In above example 454 is the median.

Median is used in JMeter just to know server's half  response 
time is lower than this number.


The requests response time below median value is  the
Better response than the request response time above the
median value



Standard Deviation:
 

Standard Deviation represents how much data varies
from the mean. 
In above example median is 454

For first sample request, that is 1624
σ = 1/n * √ Σi=1…n (xi-μ)2
         1/1  * √(1624-454)2
           =1170(request varies 1170 from the mean)

For the third sample request 
σ = 1/n * √ Σi=1…n (xi-μ)2
         1/1  * √(430-454)2
     =6.92

In the first case, the standard deviation is mostly far from the
mean value and in the second case, the standard deviation
mostly close to the mean value.


The first case is not that much significant than the second
case.