|
S. No.
|
Waterfall
Model
|
V-Model
|
|
1.
|
In Waterfall Model the tester role will take place only in
the test phase.
|
In V-Model role will take place right from the requirement
phase itself.
|
|
2.
|
Waterfall model is a fixed process that u can't make any
changes in the requirement or in any phase.
|
In V-Model u can make any change in the requirements.
|
|
3.
|
Waterfall model is a continuous process.
|
V-model is the simultaneous process.
|
|
4.
|
Waterfall model used only after the requirements are fixed.
|
V-model can be used for any type of requirement (Uncertain
requirement).
|
|
5.
|
Any mistake in Requirement phase can't be recognized in water
fall model until near the end when customer gets to see the product. This
leads to huge cost of correctiveness in terms of economy. So it is time
consuming too.
|
Here for each and every phase of the software
life cycle there is a review.
Reduce
the probability of occurring a mistake or defect. Hence saves the cost. It
saves time.
|
|
6.
|
Emphasizes
the development cycle and ignores the testing cycle.
Testing
merely get time as development phase takes almost 98% of project time.
|
Gives equal importance to the testing phase as development.
|
|
7.
|
Waterfall model stages:
1.User Requirement
2.System Requirement
3.Global Design
4.Detailed Design
5.Implementation
6.Testing
|
V model stages:
1.Component testing
2.Integration Testing
3.System Testing
4.Acceptance Testing
|
I think writing blogs is indeed an activity done by intellectual people. So I am also following the same way. It is good practice to convert whatever going into your mind to specific words and sharing your knowledge. Here I will keep sharing my thoughts and share some technical topics related to my profession as well.
Monday, 22 October 2012
Waterfall Vs. V Model
Saturday, 20 October 2012
Testing types
Black Box Testing -Testing of a function without knowing internal structure of the program.
White Box Testing -Testing of a function with knowing internal structure of the program.
Regression Testing -To ensure that the code changes have not had an adverse affect to the other modules or on existing functions.
Functional Testing:
Functional system testing will be conducted both in a positive perception and also in a negative perception.
Positive Testing (+ve ): Testing conducted on the application in a positive approach to determine what system suppose to do is called positive testing.
Positive testing is helpful to check whether the customer requirements are justifying by the application or not.
Negative Testing (-ve): Testing a software application with a negative perception to check what system not supposed to do is called negative testing.
Negative testing is helpful to find defects from the software.
Unit Testing:
The most 'micro' scale of testing to test particular functions or code modules. Typically done by the programmer and not by testers .
Unit - smallest testable piece of software.
A unit can be compiled/ assembled/ linked/ loaded; and put under a test harness.
Unit testing done to show that the unit does not satisfy the functional specification and/ or its implemented structure does not match the intended design structure.
Integration Testing:
Integration is a systematic approach to build the complete software structure specified in the design from unit-tested modules. There are two ways integration performed. It is called Pre-test and Pro-test.
Pre-test: the testing performed in Module development area is called Pre-test. The Pre-test is required only if the development is done in module development area.
Alpha Testing:
Testing of an application when development is nearing completion minor design changes may still be made as a result of such testing. Typically done by end-users or others, not by programmers or testers.
Beta Testing:
Testing when development and testing are essentially completed and final bugs and problems need to be found before final release. Typically done by end-users or others, not by programmers.
System Testing:
A system is the big component.
System testing is aimed at revealing bugs that cannot be attributed to a component as such, to inconsistencies between components or planned interactions between components.
Concern: issues, behaviors that can only be exposed by testing the entire integrated system (e.g., performance, security, recovery).
Volume Testing:
The purpose of Volume Testing is to find weaknesses in the system with respect to its handling of large amounts of data during short time periods. For example, this kind of testing ensures that the system will process data across physical and logical boundaries such as across servers and across disk partitions on one server.
Stress Testing:
This refers to testing system functionality while the system is under unusually heavy or peak load; it's similar to the validation testing mentioned previously but is carried out in a "high-stress" environment. This requires that you make some predictions about expected load levels of your Web site.
Usability Testing:
Usability means that systems are easy and fast to learn, efficient to use, easy to remember, cause no operating errors and offer a high degree of satisfaction for the user. Usability means bringing the usage perspective into focus, the side towards the user.
Security Testing:
If your site requires firewalls, encryption, user authentication, financial transactions, or access to databases with sensitive data, you may need to test these and also test your site's overall protection against unauthorized internal or external access.
Security testing of the login page:
1. Authentication testing
Here we enter the different combination of user names and passwords and check whether only the authorized people are accessing the application or not. Also in some cases check account lock-out happens after few unsuccessful attempts.
2. Direct URL testing
Here we enter the direct URL'S of secured pages and check whether they are able to access or not.
3. Firewall leakage testing
Here we enter into the application as one level of user and will try to access the pages (features) beyond his limits in order to confirm whether they can be accessible or not.
4. Account access check
After signing out, if we do browser back or press back button (if any on the page) then a login screen should be displayed in front of the users.
White Box Testing -Testing of a function with knowing internal structure of the program.
Regression Testing -To ensure that the code changes have not had an adverse affect to the other modules or on existing functions.
Functional Testing:
Functional system testing will be conducted both in a positive perception and also in a negative perception.
Positive Testing (+ve ): Testing conducted on the application in a positive approach to determine what system suppose to do is called positive testing.
Positive testing is helpful to check whether the customer requirements are justifying by the application or not.
Negative Testing (-ve): Testing a software application with a negative perception to check what system not supposed to do is called negative testing.
Negative testing is helpful to find defects from the software.
Unit Testing:
The most 'micro' scale of testing to test particular functions or code modules. Typically done by the programmer and not by testers .
Unit - smallest testable piece of software.
A unit can be compiled/ assembled/ linked/ loaded; and put under a test harness.
Unit testing done to show that the unit does not satisfy the functional specification and/ or its implemented structure does not match the intended design structure.
Integration Testing:
Integration is a systematic approach to build the complete software structure specified in the design from unit-tested modules. There are two ways integration performed. It is called Pre-test and Pro-test.
Pre-test: the testing performed in Module development area is called Pre-test. The Pre-test is required only if the development is done in module development area.
Alpha Testing:
Testing of an application when development is nearing completion minor design changes may still be made as a result of such testing. Typically done by end-users or others, not by programmers or testers.
Beta Testing:
Testing when development and testing are essentially completed and final bugs and problems need to be found before final release. Typically done by end-users or others, not by programmers.
System Testing:
A system is the big component.
System testing is aimed at revealing bugs that cannot be attributed to a component as such, to inconsistencies between components or planned interactions between components.
Concern: issues, behaviors that can only be exposed by testing the entire integrated system (e.g., performance, security, recovery).
Volume Testing:
The purpose of Volume Testing is to find weaknesses in the system with respect to its handling of large amounts of data during short time periods. For example, this kind of testing ensures that the system will process data across physical and logical boundaries such as across servers and across disk partitions on one server.
Stress Testing:
This refers to testing system functionality while the system is under unusually heavy or peak load; it's similar to the validation testing mentioned previously but is carried out in a "high-stress" environment. This requires that you make some predictions about expected load levels of your Web site.
Usability Testing:
Usability means that systems are easy and fast to learn, efficient to use, easy to remember, cause no operating errors and offer a high degree of satisfaction for the user. Usability means bringing the usage perspective into focus, the side towards the user.
Security Testing:
If your site requires firewalls, encryption, user authentication, financial transactions, or access to databases with sensitive data, you may need to test these and also test your site's overall protection against unauthorized internal or external access.
Security testing of the login page:
1. Authentication testing
Here we enter the different combination of user names and passwords and check whether only the authorized people are accessing the application or not. Also in some cases check account lock-out happens after few unsuccessful attempts.
2. Direct URL testing
Here we enter the direct URL'S of secured pages and check whether they are able to access or not.
3. Firewall leakage testing
Here we enter into the application as one level of user and will try to access the pages (features) beyond his limits in order to confirm whether they can be accessible or not.
4. Account access check
After signing out, if we do browser back or press back button (if any on the page) then a login screen should be displayed in front of the users.
Agile Testing
Agile as the name refers implies something to do very quickly. Hence
Agile Testing refers to validate the client requirements as soon as
possible and make it customer friendly. As soon as the build is out,
testing is expected to get started and report the bugs quickly if any
found. As a Tester, you need to provide your thoughts on the client
requirements rather than just being the audience at the other end. Your feedback will be implemented in the code which will avoid the defects coming from the end user.
With the quicker development, testing and constant feedback from the user, the Agile methodology becomes the appropriate approach for the projects to be delivered in a short span of time.
The very first advantage that the company got to see with the Agile Methodology is the saving of time and money. There is less documentation required. This approach leads to focus more on the application rather than documenting the things.
Another advantage that Agile Methodology offers to other approaches available is that in case there is any Change request or enhancements come in between any phase, it can be implemented without any budget constraint though there needs to be some adjustment in the already allotted time frame which will not be a difficult task for the projects following Agile tactics.
Short feedback loop between team members and Product Owner replaces sending official emails and talking to business and developers via the Test Manager.
When participating in Agile Testing, keep your feedback loop short. If you find a bug, talk about it with developers. If you need some clarification about the requirements Agile Testing, talk to the Product Owner. Be active on Planning Meetings and Retrospective Meetings.
Daily meetings and discussions for the project following Agile approach can help to determine the issues well in advance and work on it accordingly. Quick coding and Testing makes the management aware of the gaps existing in either requirements or technology used.
With the quicker development, testing and constant feedback from the user, the Agile methodology becomes the appropriate approach for the projects to be delivered in a short span of time.
The very first advantage that the company got to see with the Agile Methodology is the saving of time and money. There is less documentation required. This approach leads to focus more on the application rather than documenting the things.
Another advantage that Agile Methodology offers to other approaches available is that in case there is any Change request or enhancements come in between any phase, it can be implemented without any budget constraint though there needs to be some adjustment in the already allotted time frame which will not be a difficult task for the projects following Agile tactics.
Short feedback loop between team members and Product Owner replaces sending official emails and talking to business and developers via the Test Manager.
When participating in Agile Testing, keep your feedback loop short. If you find a bug, talk about it with developers. If you need some clarification about the requirements Agile Testing, talk to the Product Owner. Be active on Planning Meetings and Retrospective Meetings.
Agile Testing Needs Automation
To test every change in the system, you need to do regression testing to make sure that there are no defects introduced into previously developed features. Agile Testers are constantly busy with testing new Stories for current Sprint and planning regression testing is to difficult and means less features development. A better solution is to have automated tests for previous Sprints checked into the source repository.Daily meetings and discussions for the project following Agile approach can help to determine the issues well in advance and work on it accordingly. Quick coding and Testing makes the management aware of the gaps existing in either requirements or technology used.
Flash interface testing
There are four practices that you should follow when testing a Flash-based interface:
Step 1: Test over multiple connection speeds
Testing over multiple connection speeds is the most important practice to follow when testing Flash interfaces. If you test only from your local hard drive—or a web server on your local network—you are in danger of masking problems that might occur only under real-world connection conditions. When you test locally, things like server communication, image loading, and SWF streaming happen almost instantaneously.
An example helps illustrate this concept. If you use the statement gotoAndPlay(20)
on the first frame of your movie's timeline, it will most likely work
as expected when testing locally or even over broadband. However, if you
test the same file over a modem connection, your movie will probably
behave incorrectly.
One very helpful way around this problem is to make frequent use of the built-in Simulate Download feature in Flash, which you can find in the View menu of the SWF window that appears after choosing Control > Test Movie. Because the Simulate Download feature allows you to preview the performance of your movie over various connection speeds, it is a good way to spot speed-related problems early.
Step 2: Test across browsers
This step exposes the following:
- Problems with embedding Flash Player
- Problems with relative URLs
- Problems with Flash-to-browser communication
Testing across various browsers confirms that Flash content has been embedded properly on the page and that all URLs embedded in the Flash file are working consistently across all browsers.
Step 3: Test across Flash Player versions
This step exposes the following:
- Publishing mistakes
- Flash detection problems
Because Flash Player handles nearly all aspects of the display and
functionality of a Flash-based interface, you will need to test your
interface in various versions of Flash Player. It is usually adequate to
test in just two versions: the version of the player which you've
defined as your minimum required version and the version of the player
that preceded the required version.
For example, if your interface requires Flash Player 6, then you
should test in the earliest release of that version (Flash Player 6r21)
and in any release of the previous version (Flash Player 5r30). If your
interface requires a specific later release of a particular version—for
example, Flash Player 6r65—then you should still test in the versions
mentioned previously as well as the required release.
Step 4: Test on "weak" machines
This step exposes the following:
- Issues with playback performance
- "This script appears to be running slowly" alerts
The user's hardware—processor, RAM, and video card—impacts the experience significantly.
Friday, 19 October 2012
VBScript
VBScript is a lightweight programming scripting language.
VBScript is Microsoft's Visual Basic Scripting Edition. It is a simplified version of the Visual Basic and Visual Basic for Applications family of programming languages. It is also considered to be closely related to the BASIC programming language.
It is a case insensitive scripting language. It runs on both Client and server side. Only in Internet Explorer it can also be used as a browser language
It is a case insensitive scripting language. It runs on both Client and server side. Only in Internet Explorer it can also be used as a browser language
VBScript has only one data type and it's called a ‘Variant’.
Variant -
A Variant is a special kind of data type that can contain different kinds of information, depending on how it's used. VBScript is the default language of Active Server Pages (ASP). For many Web-application developers, VBScript may very well be the most important programming language.
Thursday, 18 October 2012
Smoke Testing Vs. Sanity Testing
Smoke Testing
- All features are tested without going into deep.
- This testing is shallow & wide and also known as Build Acceptance(Verification) Test.
- It is done to ensure the stability of newly received (interim) build and can be considered for further testing.
- It is done before release by unit testers or developers. Smoke testing can be executed for platform qualification tests.
- A subset of test cases that cover the most important functionality of a component or system are selected and run, to ascertain if the most crucial functions of a program work correctly.
- It is usually scripted.
- High level features are tested.
- It offers quick, deep and narrow tests, so also known as Narrow Regression Test. Once a new build is obtained with minor revisions, instead of doing a through regression, sanity is performed.
- It is actually a subset of regression testing and performed on the builds with minor revisions to assure that build has rectified the issues & no further issue has been introduced by fixes.
- A group of test cases are executed that are related with the changes made to the application.
- It is done after release by testers.
- It is unscripted.
Difference between QTP and WINRUNNER?
S. No.
|
Winrunner
|
QTP
|
1
|
Use TSL
|
Use VB script
|
2
|
It doesn't support the OOPS concept,
multimedia, XML, .Net.
|
It supports.
|
3
|
It supports only
interpreter.
|
Supports compiler
|
4
|
Uses GUI spy
|
Uses Object Spy
|
5
|
GUI Map editor is used to store the
physical descriptions
|
Object Repository is used to store
the physical descriptions of the objects
|
6
|
Here analog and context sensitive
recording modes are there.
|
Here 3 recording types are there (1)
Normal (2) Analog (3) Low level
|
7
|
Here 4 types of checkpoints
|
Here 9 types of checkpoints
|
1)
GUI
checkpoint
|
1)
Standard
check point
|
|
2)
Bitmap
checkpoint
|
2)
Bitmap
checkpoint
|
|
3)
Database
checkpoint
|
3)
Database
checkpoint
|
|
4)
Text
checkpoint
|
4)
Text/Text
area checkpoint
|
|
5)
Image
checkpoint
|
||
6)
Table
checkpoint
|
||
7)
Page
checkpoint
|
||
8)
Accessibility
checkpoint
|
||
9)
XML
checkpoint
|
||
8
|
Here 3 types of running modes
|
In QTP only 2 types of running Modes
|
1)
Verify
|
1)
Standard
|
|
2)
Debug
|
2)
Update
|
|
3)
Update
|
||
9
|
Exception Handling method used to
avoid the runtime errors . In WR 3 types
|
Here the name is Recovery Scenario
and here 4 types of exceptions :
|
1)
Popup
|
1)
Pop-up
Window
|
|
2)
TSL
|
2)
Object
state
|
|
3)
Object
|
3)
Test
run error
|
|
4)
Application
Crash
|
||
10
|
WR add-ins are :
|
QTP add-ins are :
|
1) ActiveX
|
1) ActiveX
|
|
2) Power Builder
|
2) Visual Basic
|
|
3) Visual Basic
|
3) Java
|
|
4) Web
|
4) Web
|
|
5) Java
|
5) Multi-media ( 6.5
version )
|
|
6) C
|
||
7) C++ etc
|
||
11
|
In WR only One View
|
Here in QTP 2 Views
|
1) Normal Mode
|
1)
Expert
View
|
|
2)
Keyword
View
|
||
12
|
Only One Sheet in data
Table if we want to add another sheet then another new data table to be
opened
|
In QTP 2 sheets in Data
Table
|
1) Global
|
||
2) Action
|
||
In action sheet we can
add no of sheets
|
||
13
|
Here 2 types of GUI map
editor
|
Here only one type
|
1) Global
|
1) Global
|
|
2) Per test
|
||
14
|
Running methods
|
Running Methods in QTP
are :
|
1) Step
|
1) Step into
|
|
2) Step into
|
2) Step over
|
|
3) Step out
|
3) Step out
|
|
15
|
Only One window i.e. Form Window
|
Here five types of Window
|
1) Tree View or Keyword
view
|
||
2) Expert View
|
||
3) Data Table
|
||
4) Active Screen
|
||
5) Debug Viewer
|
Subscribe to:
Posts (Atom)