Escolar Documentos
Profissional Documentos
Cultura Documentos
Experiment 1
Aim: To Study the use of software like Open Proj and different features available in Open
Proj.
Theory:
A project is a series of activities leading to defined goals and deliverables achieved in a specified
timeframe. A project has a specific starting date, and a specific ending date. A project may involve the
activities of a team of people, or be a relatively complex series of activities completed by a single person.
The team members may all come from one department, or they may include persons from many
departments or even other companies.
OpenProj provides specific views where you can build the list of project tasks and the list of project
resources.You can establish how long it will take to complete each task, and easily indicate how tasks
relate. Once you’ve done so, OpenProj calculates the project finish date for you. As you assign resources
to tasks, OpenProj can recalculate the project finish date for you to reflect the impact of the assignments
you make. In the final task shown in Figure 1.3, OpenProj has calculated a finish date of 6/8/10 for the
project plan shown.
While building a project plan remains a matter of putting in the required time and thought, once you’ve
built the plan, you can take advantage of really powerful OpenProj features to review the plan to ensure
it’s realistic and reasonable, and then execute and control the project:
■Views to help you identify planning problems before work begins. OpenProj includes views where
you can see whether you’ve assigned too much work to a resource during any time period, giving you the
opportunity to correct that type of planning error before launching work on the project. You also can see
which tasks are most important or critical to the overall schedule, so you can add resources to those tasks
to have the greatest positive impact on the overall project completion date.
■Tools to track work completed. OpenProj provides you with the flexibility to update completed work
on tasks one by one, in groups, or in a somewhat automatic fashion.
A view to enable you to compare your current plan versus your original plan. This feature enables
you to pinpoint where and how your project may have gotten off track, again so that you can take
corrective action.
■Customizable views, as well as reports, that enable you to keep team members and stakeholders
up to date. OpenProj can provide the information that various players want, so that you don’t have to
compile and develop different formats by hand.
Figure 2.1
If you're using OpenProj on Linux or Mac OS, the startup method you use will depend on your desktop
environment and how you've personalized your system. Generally speaking, use the same method to start
OpenProj that you use to start other programs on your system.
No matter which method you used to start OpenProj, you may see a Try Project-ONDemand message box
or another message box about supporting OpenProj's publisher.You can click Close at that message box.
In the Tip of the Day dialog box that may then appear, you can click Next to view additional tips, or
Close to close the dialog box.
The Welcome to OpenProj dialog box (Figure 2.2) then appears, giving you the option of creating or
opening a file. If you leave the Create Project option selected and click OK, OpenProj will prompt you
to enter information so it can create a new, blank file. If you instead click Open Project and then click
OK, the Open dialog box appears so that you can browse to and open an existing file. Creating and
working with files is covered in more detail at the beginning of Chapter 4. Starting Up and Shutting Down
17
Figure 2.2
When you’ve finished your work in OpenProj, you will want to close or exit the program. Closing the
program closes any open files that you were working on to ensure that your work is properly secure. You
can exit the OpenProj program in one of three ways on the Windows platform:
■ Click File on the menu bar and then click Exit.
■ Click the Close (X) button in the upper-right corner of the program window.
■ Press Alt+F4.
If you’ve made changes to any open OpenProj file that you haven’t yet saved, OpenProj prompts you to
save. Be sure to click Yes each time OpenProj displays the message to ensure you save your changes to
all of the files that you had open. (Chapter 4 provides more information about working with files in
OpenProj.)
Figure 2.3 shows you the OpenProj program window with its default view, called the Gantt view,
displayed. The key features of the OpenProj program include the following:
■Title bar. The title bar across the top of the window displays the name of the program as well as the
name of the current project plan file.
■Close (X) button. Clicking this button at the far right end of the title bar closes the OpenProj program.
You can use the Minimize and Restore/Maximize buttons beside it to manipulate the size of the program
window.
Menu bar. This bar—just below the title bar—lists menus, or groups of commands, for working in
OpenProj. Click a menu to display its commands and then click a command in the list. Clicking a
command might display a submenu from which you choose additional commands or a dialog box in
which you specify additional choices for executing the command.
■Toolbar. OpenProj offers a single toolbar on the row below the menu bar. The toolbar offers buttons
and choices that enable you to execute changes directly rather than having to choose a menu command.
Click a toolbar button to run itscommand. To see what a toolbar button does, move the mouse pointer
over it; a yellow ScreenTip with the tool’s name appears. The right end of the toolbar also offers drop-
down lists that you can use to apply filtering, sorting, and grouping to the information onscreen. These
techniques will be covered in a later chapter.
■Top view buttons. The area along the left side of the window lists a number of buttons representing the
available views. By default, only one view appears on the screen, and you can change to another view by
clicking one of the top view buttons above the blank divider area.
■Bottom view buttons. If you need to examine information about a task or resource in detail, you can
display a second view along the bottom of the screen by clicking one of the bottom view buttons. For
example, Figure 2.4 shows a project plan file with a bottom view displayed. To toggle the bottom view
off, click its button at the left again.
Experiment 2
Aim: To Study the comparison of Open Proj with other similar software available for
Project Management.
Theory:
Overview of SmartDraw
What is SmartDraw?
SmartDraw is the easy-to-use Windows software for creating business diagrams, technical drawings, and
business documents. SmartDraw requires no artistic talent—users simply drag and drop ready-made
graphic elements to create professional-looking diagrams quickly and easily.
SmartDraw competes with products like Microsoft Visio, but SmartDraw is specifically aimed at users
who do not have the time or the need to learn such complex programs. SmartDraw is easier to learn,
easier to use, and easier to afford than competing products—and it produces better-looking results.
SmartDraw offers complete business graphics solutions—integrated sets of symbols, templates,
instructions, and tutorials—for many standard business problems, including: Business Process
Management, Software Design, Network Design, and more. With SmartDraw, anyone can:
• Illustrate a report
• Analyze a process
• Make a presentation
• Persuade others
• Document procedures
• Communicate clearly
• Help others “see what you mean”
In addition to pre-packaged solutions, SmartDraw offers over 50,000 ready-made symbols and templates
for creating all kinds of business charts and diagrams.
Users can simply drag symbols from floating library windows and drop them into drawings, where they
can be quickly resized, positioned, re-colored, or linked to other symbols.
To help even the most graphically-challenged user look like a professional, SmartDraw can automatically
align and arrange objects in drawings, and it can apply beautiful, ready-made color schemes to an entire
drawing with a single mouse-click.
Summary of Benefits
When the bottom line is return-on-investment, no other software compares to SmartDraw:
• Easy to Use — With its intuitive interface, easy “drag and drop” drawing, and over 50,000 ready-made
symbols and templates, SmartDraw allows users to start producing professional-looking diagrams
within minutes. One SmartDraw user called it “instant productivity.”
• Complete Solutions — SmartDraw provides complete business graphics solutions—integrated sets of
symbols, templates, instructions, and tutorials—for many standard business problems, such as Business
Process Management, Software Design, Network Design, and more. At the same time, it provides the
versatility to create nearly any kind of business diagram. It’s the one-stop solution for all business
graphics needs.
• Easy to Own — With its famous “Zero learning curve,” affordable price, free technical support, and
seamless integration with Microsoft Office, SmartDraw is easy to integrate into any organization.
Network Design: Includes over 700 stylized symbols for conceptual network design, plus over
2200 detailed images of vendor-specific equipment for diagramming computer and telecom
networks.
Floor Plans & Facilities: Includes hundreds of scaled symbols for floor plans, systems furniture,
HVAC, plumbing, wiring, security, landscaping and more.
Electrical Engineering: Includes over 2100 IEEE and IEC standard symbols, plus examples and
special libraries for construction, automobile wiring, cable TV and more.
Mechanical Engineering: Includes add-on symbols for piping, welding, and process engineering,
plus precision CAD drawings of tools, machines, and fasteners.
Science and Math: Includes hundreds of symbols and templates for chemistry, biology,
astronomy, physics, mathematics, and more.
Key Features
SmartDraw Explorer
The 50,000 symbols and templates are organized for easy access in the SmartDraw Explorer, which has a
familiar Windows look and feel. Easy keyword searching means the right symbols are always at the
user’s fingertips.
Previews
The complete collection of SmartDraw symbols and templates would occupy over 1.5 GB of disk space
if fully installed, but thanks to SmartDraw's patented install-on-demand technology, users can preview
content in small preview panes and install just the components they need.
Smart Lines
Lines drawn from the edge of one shape to the edge of another stay connected, even if the shapes are
moved or resized. This is indispensable for creating flowcharts and similar diagrams.
To illustrate any specialized business chart, users can choose from 23 different arrowhead styles,
including circles, crows feet, diamonds, and other flowcharting styles.
Users can also attach text to lines so that the text will rotate and move with the line.
Lines can automatically display their length for use in floor plans and other dimensioned drawings.
The Connector is a special type of line that automatically arranges several shapes in evenly spaced
patterns. As users drag shapes to the connector, the connector line automatically expands to
accommodate the new
shapes.
SmartDraw makes it easy to add text to any shape. Users can just select the shape by clicking on it and
start typing. The text flows and wraps inside the shape like the text on a page in a word processor. Once
the shape becomes full of text, the text shrinks—or the shape grows, depending on the user’s
preference—to accommodate more text. Normally shapes grow proportionally (but users can also choose
other behaviors). The text and the shape remain tightly bound so the text never spills outside.
Users can edit the text inside a shape by simply double-clicking on it to open a text editing session. Text
can be cut, copied, and pasted. Its typeface and color can be changed on a character-by-character basis.
All text editing is fully WYSIWYG. Different paragraphs within a shape can have different justifications,
just as in a word processor. Automatic bulleted text is also supported.
With the Professional or Professional Plus versions of SmartDraw, users can also automatically check
spelling as they type and add words to their custom dictionary.
In addition, the Format Painter command allows users to save time by capturing the style from any
object in their drawing and applying it to others with just one mouse-click.
With SmartDraw, even the most artistically-challenged user can look like a graphics professional.
Experiment 3
Aim Study and usage of openproj or similar software to track the progree of a project
Features
The current version includes:
the team's work into manageable sections. The Project Management Body of Knowledge (PMBOK 5)
defines the work breakdown structure as a "A hierarchical decomposition of the total scope of work to be
carried out by the project team to accomplish the project objectives and create the required deliverables."
A work-breakdown structure element may be a product, data, service, or any combination thereof. A
WBS also provides the necessary framework for detailed cost estimating and control along with
providing guidance for schedule development and control.
(Figure 1)
(Figure 1.1)
Gantt chart
"Gantt" redirects here. For other uses, see Gantt (disambiguation).
A Gantt chart is a type of bar chart that illustrates a project schedule. Modern Gantt charts also show
the dependency relationships between activities and current schedule status.
(Figure 1.2)
(Figure 1.3)
(Figure 1.4)
EXPERIMENT-4
Aim:Preparation of SRS document.
1. Functional requirements
2. Non-functional requirements
3. Goal of implementation
Theory:
What is SRS?
Software requirement specification (SRS) is a document that completely describes what the
proposed software should do without describing how software will do it. The basic goal of the
requirement phase is to produce the SRS, Which describes the complete behavior of the
proposed software. SRS is also helping the clients to understand their own needs.
Advantages:
Software SRS establishes the basic for agreement between the client and the supplier on what
the software product will do.
1. A SRS provides a reference for validation of the final product.
2. A high-quality SRS is a prerequisite to high-quality software.
3. A high-quality SRS reduces the development cost.
Characteristics of an SRS
1. Correct
2. Complete
3. Unambiguous
4. Verifiable
5. Consistent
6. Ranked for importance and/or stability
7. Modifiable
8. Traceable
An SRS is correct if every requirement included in the SRS represents something required in the
final system. An SRS is complete, if everything the software is supposed to do and the responses
of the software to all classes of input data are specified in the SRS. Correctness ensures that what
is specified is done correctly, completeness ensures that everything is indeed specified.
An SRS is unambiguous if and only if every requirement stated has one and only one
interpretation. Requirements are often written in natural language, which are inherently
ambiguous.
Terminology can cause inconsistencies; for example, different requirements may use different
terms to refer to the same object. All the requirements for software are not of equal importance.
Some are critical, others are important but not critical, and there are some, which are desirable,
but not very important.
Parts of a SRS document
The important parts of SRS document are:
3. Goals of implementation
Functional requirements:-
The functional requirements part discusses the functionalities required from the system. The
system is considered to perform a set of high-level functions {fi}. The functional view of the
system is shown in fig. 3.1. Each function fi of the system can be considered as a transformation
of a set of input data (ii) to the corresponding set of output data (oi). The user can get some
meaningful piece of work done using a high-level function.
Here we list all functions {f } that the system performs. Each function f as shown in fig.3.2 is
i i
considered as a transformation of a set of input data to some corresponding output data.
Output: details of the author’s books and the location of these books in the library
So the function Search Book (F1) takes the author's name and transforms it into book details.
Functional requirements actually describe a set of high-level requirements, where each high-
level requirement takes some data from the user and provides some data to the user as an output.
Also each high-level requirement might consist of several other functions.
Nonfunctional requirements:-
Nonfunctional requirements deal with the characteristics of the system which can not be
expressed as functions - such as the maintainability of the system, portability of the system,
usability of the system, etc.
Nonfunctional requirements are the characteristics of the system which can not be expressed as
functions - such as the maintainability of the system, portability of the system, usability of the
system, etc.
# reliability issues,
# performance issues,
Goals of implementation:-
The goals of implementation part documents some general suggestions regarding development.
These suggestions guide trade-off among design goals. The goals of implementation section
might document issues such as revisions to the system functionalities that may be required in the
future, new devices to be supported in the future, reusability issues, etc
Properties of a good SRS document
The important properties of a good SRS document are the following:
Concise. The SRS document should be concise and at the same time unambiguous, consistent,
and complete. Verbose and irrelevant descriptions reduce readability and also increase error
possibilities.
Black-box view. It should only specify what the system should do and refrain from stating how
to do these. This means that the SRS document should specify the external behavior of the
system and not discuss the implementation issues.
Conceptual integrity. It should show conceptual integrity so that the reader can easily
understand it.
Verifiable. All requirements of the system as documented in the SRS document should be
verifiable. This means that it should be possible to determine whether or not requirements have
been met in an implementation.
1. Without developing the SRS document, the system would not be implemented according to
customer needs.
2. Software developers would not know whether what they are developing is what exactly
required by the customer.
3. Without SRS document, it will be very much difficult for the maintenance engineers to
understand the functionality of the system.
4. It will be very much difficult for user document writers to write the users’ manuals properly
without understanding the SRS document.
EXPERIMENT- 5
AIM : Study and usage of UML diagram using design phase case tool.
UML stands for Unified Modeling Language which is used in object oriented software
engineering. Although typically used in software engineering it is a rich language that can be
used to model an application structures, behavior and even business processes.
The below figure shows the inputs and the outputs of the UML diagrams generator (UML)
CASE tool. However, we can note that the outputs are divided into two distinct types, that is, the
event-based use-case and event-based class diagrams which are to be constructed based on an
individual event and the integrated use-case and integrated class diagrams which to be
constructed based on the whole events.
The UML CASE tool has been built to generate the use-case and class diagrams using the
entered event table.
However, this new CASE tool contains the following features (functionalities),
To build an event table, we need to enter all the elements of each event as the following: event,
input message, general source, special source, action, object, output message, includes action,
extends action, specialization action and destination.
After the event table has been completely entered, the other features can be used. However, the
‘build event based use-case diagram’ button will produce the related use-case(s), actor(s) and
relationship(s) for each event and the ‘build event based class diagram’ button will produce the
related class(s) for each event. Furthermore, the ‘generate use-case diagram’ and ‘generate class
diagram’ will produce the integrated use-case diagram and class diagram for the whole event
table, respectively.
EXPERIMENT-6
Aim: To perform unit testing and integration testing.
Software Testing is evaluation of the software against requirements gathered from users and
system specifications. Testing is conducted at the phase level in software development life cycle
or at module level in program code. Software testing comprises of Validation and Verification.
Target of the test are -
Errors - These are actual coding mistakes made by developers. In addition, there is a
difference in output of software and desired output, is considered as an error.
Fault - When error exists fault occurs. A fault, also known as a bug, is a result of an
error which can cause system to fail.
Failure - failure is said to be the inability of the system to perform the desired task.
Failure occurs when fault exists in the system.
Manual Vs Automated Testing:
Testing can either be done manually or using an automated testing tool:
Manual - This testing is performed without taking help of automated testing tools. The
software tester prepares test cases for different sections and levels of the code, executes
the tests and reports the result to the manager.
Manual testing is time and resource consuming. The tester needs to confirm whether or
not right test cases are used. Major portion of testing involves manual testing.
Automated This testing is a testing procedure done with aid of automated testing tools.
The limitations with manual testing can be overcome using automated test tools.
Testing Levels:
Testing itself may be defined at various levels of SDLC. The testing process runs parallel to
software development. Before jumping on the next stage, a stage is tested, validated and
verified. Testing separately is done just to make sure that there are no hidden bugs or issues left
in the software. Software is tested on various levels -
Unit Testing:
While coding, the programmer performs some tests on that unit of program to know if it is error
free. Testing is performed under white-box testing approach. Unit testing helps developers
decide that individual units of the program are working as per requirement and are error free.
Integration Testing:
Even if the units of software are working fine individually, there is a need to find out if the
units if integrated together would also work without errors. For example, argument passing and
data updation etc.
System Testing:
The software is compiled as product and then it is tested as a whole. This can be accomplished
using one or more of the following tests:
Functionality testing - Tests all functionalities of the software against the requirement.
Performance testing - This test proves how efficient the software is. It tests the
effectiveness and average time taken by the software to do desired task. Performance
testing is done by means of load testing and stress testing where the software is put
under high user and data load under various environment conditions.
Security & Portability - These tests are done when the software is meant to work on
various platforms and accessed by number of persons.
Acceptance Testing:
When the software is ready to hand over to the customer it has to go through last phase of
testing where it is tested for user-interaction and response. This is important because even if the
software matches all user requirements and if user does not like the way it appears or works, it
may be rejected.
Alpha testing - The team of developer themselves perform alpha testing by using the
system as if it is being used in work environment. They try to find out how user would
react to some action in software and how the system should respond to inputs.
Beta testing - After the software is tested internally, it is handed over to the users to use
it under their production environment only for testing purpose. This is not as yet the
delivered product. Developers expect that users at this stage will bring minute problems,
which were skipped to attend.
Regression Testing:
Whenever a software product is updated with new code, feature or functionality, it is tested
thoroughly to detect if there is any negative impact of the added code. This is known as
regression testing.
UNIT TESTING
INTEGRATION TESTING
Integration Testing is performed after Unit Testing and before System Testing.
Who performs Integration Testing?
Approaches
Big Bang is an approach to Integration Testing where all or most of the units are
combined together and tested at one go. This approach is taken when the testing team
receives the entire software in a bundle. So what is the difference between Big Bang
Integration Testing and System Testing? Well, the former tests only the interactions
between the units while the latter tests the entire system.
Top Down is an approach to Integration Testing where top level units are tested first and
lower level units are tested step by step after that. This approach is taken when top down
development approach is followed. Test Stubs are needed to simulate lower level units
which may not be available during the initial phases.
Bottom Up is an approach to Integration Testing where bottom level units are tested first
and upper level units step by step after that. This approach is taken when bottom up
development approach is followed. Test Drivers are needed to simulate higher level units
which may not be available during the initial phases.
Sandwich/Hybrid is an approach to Integration Testing which is a combination of Top
Down and Bottom Up approaches.
EXPERIMENT-7
Aim: To perform various white box and black box testing techniques.
White Box Testing is the testing of a software solution's internal coding and infrastructure. It
focuses primarily on strengthening security, the flow of inputs and outputs through the
application, and improving design and usability. White box testing is also known as Clear Box
testing, Open Box testing, Structural testing, Transparent Box testing, Code-Based testing, and
Glass Box testing.
It is one of two parts of the "box testing" approach of software testing. Its counter-part,
blackbox testing, involves testing from an external or end-user type perspective. On the other
hand, Whitebox testing is based on the inner workings of an application and revolves around
internal testing.
The term "whitebox" was used because of the see-through box concept. The clear box or
whitebox name symbolizes the ability to see through the software's outer shell (or "box") into its
inner workings. Likewise, the "black box" in "black box testing" symbolizes not being able to
see the inner workings of the software so that only the end-user experience can be tested.
To give you a simplified explanation of white box testing, we have divided it into two basic
steps. This is what testers do when testing an application using the white box testing technique:
The first thing a tester will often do is learn and understand the source code of the application.
Since white box testing involves the testing of the inner workings of an application, the tester
must be very knowledgeable in the programming languages used in the applications they are
testing. Also, the testing person must be highly aware of secure coding practices. Security is
often one of the primary objectives of testing software. The tester should be able to find security
issues and prevent attacks from hackers and naive users who might inject malicious code into the
application either knowingly or unknowingly.
The second basic step to white box testing involves testing the application's source code for
proper flow and structure. One way is by writing more code to test the application's source code.
The tester will develop little tests for each process or series of processes in the application.
This method requires that the tester must have intimate knowledge of the code and is often done
by the developer. Other methods include manual testing, trial and error testing and the use of
testing tools as we will explain further on in this article.
There are automated tools available to perform Code coverage analysis. Below are a few
coverage analysis techniques
Statement Coverage - This technique requires every possible statement in the code to be tested
at least once during the testing process.
Branch Coverage - This technique checks every possible path (if-else and other conditional
loops) of a software application. Tools: An example of a tool that handles branch coverage
testing for C, C++ and Java applications is TCAT-PATH
Apart from above, there are numerous coverage types such as Condition Coverage, Multiple
Condition Coverage, Path Coverage, Function Coverage etc. Each technique has its own merits
and attempts to test (cover) all parts of software code.
Using Statement and Branch coverage you generally attain 80-90% code coverage which is
sufficient.
Black box testing is a software testing techniques in which functionality of the software under
test (SUT) is tested without looking at the internal code structure, implementation details and
knowledge of internal paths of the software. 7This type of testing is based entirely on the
software requirements and specifications.
In Black Box Testing we just focus on inputs and output of the software system without
bothering about internal knowledge of the software program.
The above Black-Box can be any software system you want to test. For example: an operating
system like Windows, a website like Google, a database like Oracle or even your own custom
application. Under Black Box Testing, you can test these applications by just focusing on the
inputs and outputs without knowing their internal code implementation.
Functional testing - This black box testing type is related to functional requirements of a
system; it is done by software testers.
Non-functional testing - This type of black box testing is not related to testing of a specific
functionality, but non-functional requirements such as performance, scalability, usability.
Regression testing - Regression testing is done after code fixes, upgrades or any other
system maintenance to check the new code has not affected the existing code.
EXPERIMENT- 8
1) Functionality Testing:
Test for – all the links in web pages, database connection, forms used for submitting or getting
information from user in the web pages, Cookie testing etc.
Forms are the integral part of any website. Forms are used for receiving information from users
and to interact with them. So what should be checked on these forms?
First check all the validations on each field.
Check for default values of the fields.
Wrong inputs in the forms to the fields in the forms.
Options to create forms if any, form delete, view or modify the forms.
Cookies Testing:
Cookies are small files stored on the user machine. These are basically used to maintain the
session- mainly the login sessions. Test the application by enabling or disabling the cookies in
your browser options. Test if the cookies are encrypted before writing to user machine. If you
are testing the session cookies (i.e. cookies that expire after the session ends) check for login
sessions and user stats after session ends. Check effect on application security by deleting the
cookies.
important one. Mainly validate the site for HTML syntax errors. Check if the site is crawlable to
different search engines.
Database testing:
Data consistency is also very important in web application. Check for data integrity and errors
while you edit, delete, modify the forms or do any DB related functionality.
Check if all the database queries are executing correctly, data is retrieved and also updated
correctly. More on database testing could be load on DB,we will address this in web load or
performance testing below.
2) Usability Testing:
Navigation means how an user surfs the web pages, different controls like buttons, boxes or how
the user uses the links on the pages to surf different pages.
Usability testing includes the following:
Website should be easy to use.
Instructions provided should be very clear.
Check if the instructions provided are perfect to satisfy its purpose.
Main menu should be provided on each page.
It should be consistent enough.
Content checking:
Content should be logical and easy to understand. Check for spelling errors. Usage of dark
colours annoys the users and should not be used in the site theme. You can follow some standard
colours that are used for web page and content building. These are the common accepted
standards like what I mentioned above about annoying colours, fonts, frames etc.
Content should be meaningful. All the anchor text links should be working properly. Images
should be placed properly with proper sizes.
3) Interface Testing:
The main interfaces are: Web server and application server interface application server and
Database server interface.
Check if all the interactions between these servers are executed and errors are handled
properly.If database or web server returns any error message for any query by application server
then application server should catch and display these error messages appropriately to the users.
Check what happens if user interrupts any transaction in-between? Check what happens if
connection to the web server is reset in between?
4) Compatibility Testing:
Compatibility of your website is a very important testing aspect. See which compatibility test to
be executed:
Browser compatibility
Operating system compatibility
Mobile browsing
Printing options
Browser compatibility:
In my web-testing career I have experienced this as the most influencing part on web site testing.
Some applications are very dependent on browsers. Different browsers have different
configurations and settings that your web page should be compatible with. Your website coding
should be a cross browser platform compatible. If you are using java scripts or AJAX calls for
UI functionality, performing security checks or validations then give more stress on browser
compatibility testing of your web application. Test web application on different browsers like
Internet explorer, Firefox, Netscape navigator, AOL, Safari, Opera browsers with different
versions.
OS compatibility:
Some functionality in your web application is that it may not be compatible with all operating
systems. All new technologies used in web development like graphic designs, interface calls like
different API’s may not be available in all Operating Systems.
Hence test your web application on different operating systems like Windows, Unix, MAC,
Linux, Solaris with different OS flavors.
Mobile browsing:
We are in new technology era. So in future Mobile browsing will rock. Test your web pages on
mobile browsers. Compatibility issues may be there on mobile devices as well.
Printing options:
If you are giving page-printing options then make sure fonts, page alignment, page graphics etc.,
are getting printed properly. Pages should fit to the paper size or as per the size mentioned in
the printing option.
5) Performance testing:
Web application should sustain to heavy load. Web performance testing should include:
Web Load Testing
Web Stress Testing
Web Stress testing: Generally stress means stretching the system beyond its specified limits.
Web stress testing is performed to break the site by giving stress and its checked as how the
system reacts to stress and how it recovers from crashes. Stress is generally given on input
fields, login and sign up areas.
6) Security Testing:
Following are some of the test cases for web security testing:
Test by pasting internal URL directly onto the browser address bar without login.
Internal pages should not open.
If you are logged in using username and password and browsing internal pages then try
changing URL options directly. I.e. If you are checking some publisher site statistics with
publisher site ID= 123. Try directly changing the URL site ID parameter to different site
ID which is not related to the logged in user. Access should be denied for this user to
view others stats.
Try some invalid inputs in input fields like login username, password, input text boxes
etc. Check the systems reaction on all invalid inputs.
Web directories or files should not be accessible directly unless they are given download
option.
Test the CAPTCHA for automates script logins.
Test if SSL is used for security measures. If used proper message should get displayed
when user switch from non-secure http:// pages to secure https:// pages and vice versa.
All transactions, error messages, security breach attempts should get logged in log files
somewhere on the web server.