Beruflich Dokumente
Kultur Dokumente
It’s not that we don’t know how to do the documentation right. We just
don’t think it’s important.
SMOKE TESTING:
* Smoke testing originated in the hardware testing practice of
turning on a new piece of hardware for the first time and considering
it a success if it does not catch fire and smoke. In software industry,
smoke testing is a shallow and wide approach whereby all areas of
the application without getting into too deep, is tested.
* A smoke test is scripted, either using a written set of tests or an
automated test
* A Smoke test is designed to touch every part of the application in
a cursory way. It’s shallow and wide.
* Smoke testing is conducted to ensure whether the most crucial
functions of a program are working, but not bothering with finer
details. (Such as build verification).
* Smoke testing is normal health check up to a build of an
application before taking it to testing in depth.
SANITY TESTING:
* A sanity test is a narrow regression test that focuses on one or a
few areas of functionality. Sanity testing is usually narrow and deep.
* A sanity test is usually unscripted.
* A Sanity test is used to determine a small section of the
application is still working after a minor change.
* Sanity testing is a cursory testing, it is performed whenever a
cursory testing is sufficient to prove the application is functioning
according to specifications. This level of testing is a subset of
regression testing.
* Sanity testing is to verify whether requirements are met or not,
checking all features breadth-first.
Ans:
Projects are broadly divided into two types of:
* 2 tier applications
* 3 tier applications
The DBserver would be having oracle, sql server, sybase, mysql etc.
(All data is stored in the database available on the DB server)
Desktop application:
1. Application runs in single memory (Front end and Back end in one
place)
2. Single user only
Client/Server application:
1. Application runs in two or more machines
2. Application is a menu-driven
3. Connected mode (connection exists always until logout)
4. Limited number of users
5. Less number of network issues when compared to web app.
Web application:
1. Application runs in two or more machines
2. URL-driven
3. Disconnected mode (state less)
4. Unlimited number of users
5. Many issues like hardware compatibility, browser compatibility,
version compatibility, security issues, performance issues etc.
Here is the example scenario that caused a bug:
Lets assume in your application under test you want to create a new
user with user information, for that you need to logon into the
application and navigate to USERS menu > New User, then enter all
the details in the ‘User form’ like, First Name, Last Name, Age,
Address, Phone etc. Once you enter all these information, you need
to click on ‘SAVE’ button in order to save the user. Now you can see
a success message saying, “New User has been created
successfully”.
Now this is the bug scenario and you would like to report this as a
BUG in your bug-tracking tool.
Description:
Application crash on clicking the SAVE button while creating a new
user, hence unable to create a new user in the application.
Steps To Reproduce:
1) Logon into the application
2) Navigate to the Users Menu > New User
3) Filled all the user information fields
4) Clicked on ‘Save’ button
5) Seen an error page “ORA1090 Exception: Insert values Error…”
6) See the attached logs for more information (Attach more logs
related to bug..IF any)
7) And also see the attached screenshot of the error page.
Save the defect/bug in the BUG TRACKING TOOL. You will get a
bug id, which you can use for further bug reference.
Default ‘New bug’ mail will go to respective developer and the default
module owner (Team leader or manager) for further action.
Related: If you need more information about writing a good bug report
read our previous post “How to write a good bug report“.
As testing is the last part of the project, it’s always under pressure
and time constraint. To save time and money you should be able to
prioritize your testing work. How will prioritize testing work? For this
you should be able to judge more important and less important
testing work. How will you decide which work is more or less
important? Here comes need of risk-based testing.
What is Risk?
“Risk are future uncertain events with a probability of occurrence and
a potential for loss”
In this article I will cover what are the “types of risks”. In next articles I
will try to focus on risk identification, risk management and mitigation.
Categories of risks:
Schedule Risk:
Project schedule get slip when project tasks and schedule release
risks are not addressed properly.
Schedule risks mainly affect on project and finally on company
economy and may lead to project failure.
Schedules often slip due to following reasons:
Budget Risk:
Technical risks:
Technical risks generally leads to failure of functionality and
performance.
Causes of technical risks are:
Programmatic Risks:
These are the external risks beyond the operational limits. These are
all uncertain risks are outside the control of the program.
These external events can be:
These are all common categories in which software project risks can
be classified. I will cover in detail “How to identify and manage risks”
in next article.