Professional Documents
Culture Documents
Practical-1
Aim-1 Study & usage of OpenProj or similar software to draft project plan
1.1 Introduction of MS Project:
Microsoft Project is a project management software program developed
and sold by Microsoft, designed to assist a project manager in developing
a schedule, assigning resources to tasks, tracking progress, managing the
budget, and analyzing workloads.
Project creates budgets based on assignment work and resource rates. As
resources are assigned to tasks and assignment work estimated, the
program calculates the cost, equal to the work times the rate, which rolls
up to the task level and then to any summary task, and finally to the
project level.
Each resource can have its own calendar, which defines what days and
shifts a resource is available. Microsoft Project is not suitable for solving
problems of available materials (resources) constrained production.
Additional software is necessary to manage a complex facility that
produces physical goods.
1.2 Project Work Plan
Prepare a list of all tasks in the work breakdown structure, plus:
Duration of task.
Current task status.
Task dependencies.
Key milestone dates.
Step 1: How to start the application
Page 1
Roll No. 2028192 Subject code: BTCS-506-18
1.1 To start with Microsoft Project, navigate to Start - All programs - Microsoft
Office - Microsoft Office Project 2007.
1.2 After starting the project, the Gantt chart view appears by default (same as
Figure): 5 Step-by-Step Lab Activities
(with outcome data for Team #0)
Page 2
Roll No. 2028192 Subject code: BTCS-506-18
1.6 Task sheet view appears with only few columns of data (see Figure below).
Page 3
Roll No. 2028192 Subject code: BTCS-506-18
Page 4
Roll No. 2028192 Subject code: BTCS-506-18
Page 5
Roll No. 2028192 Subject code: BTCS-506-18
5.3 For example, if we want to create four levels of hierarchy (like 1.1.1.1),
select Numbers (ordered) in the first four rows of the sequence columns
of the
WBS code definition dialog box.
To separate the numbers using periods, select the period in the separator
column.
Leave the two items Checked at the bottom of the screen as shown below
Page 6
Roll No. 2028192 Subject code: BTCS-506-18
Page 7
Roll No. 2028192 Subject code: BTCS-506-18
Practical-2
Aim-2 Study and usage of OpenProj or similar software to track the
progress of a project.
Tracking Progress
●Network Diagram
●Gantt Chart:
Bar chart format.
Useful to monitor project status at any point in time.
●PERT Chart:
Flowchart format.
Illustrate task dependencies and critical path.
Network Diagram
Let us look at the Network Diagram view. By selecting it we see the following:
Page 8
Roll No. 2028192 Subject code: BTCS-506-18
On the View menu, click Gantt Chart. In the Task Name field, type a task name,
and then press TAB. (Microsoft Project enters an estimated duration of one day
for the task followed by a question mark). In the Duration field, type the amount
of time each task will take in months, weeks, days, hours, or minutes, not
counting nonworking time. (By default the time period will be days, but that can
be changed to hours, months, etc.). Press ENTER. It should look like the figure
below:
Page 9
Roll No. 2028192 Subject code: BTCS-506-18
●PERT Chart:
Flowchart format.
Illustrate task dependencies and critical path.
Critical Path Analysis
The critical path is used by project managers to monitor and control the project.
It is called the critical path as it depicts.
Page 10
Roll No. 2028192 Subject code: BTCS-506-18
Practical-3
GROUP NO (-)
Name of Student (Course Branch, Rollno)
Page 11
Roll No. 2028192 Subject code: BTCS-506-18
Table of Contents
1. Introduction
1.1 Purpose
1.2 Scope
1.3 Definitions, Acronyms, and Abbreviations
2. The Overall Description
2.1 Product Functions
2.2 User Characteristics
2.3 Constraints
3. Specific Requirements
3.1 External Interfaces
3.2 Functions
3.3 Logical Database Requirements
3.4 Design Constraints
3.4.1Software
3.4.2 Hardware
3.4.3 Operating System
Page 12
Roll No. 2028192 Subject code: BTCS-506-18
Practical-3
Aim-3 Preparation of Software Requirement Specification Document,
Design Documents and Testing Phase related documents for your project.
Such as Case study for (Library Management System).
1. Introduction
This software system can fulfil the requirements of "Library System" In this
software, you can manage the record Books, Students Record, Issue Book
Record, Return Books Record, Stock in Library, Reports of Books, Students.
All the transaction which is doing manually will do with the help of
computer. We use Visual Basic as front end and Oracle 8i as backend for
making this project. This software will helpful in searching the Student
Record, Books Record in Library. This software also checks the duplicate
Book Entry, Student Roll No. There will be no chance of duplicity. Because
the Book No. will be unique. In any Class Student also have their different
Roll no.
We are using Oracle Si as a back end in our project. Oracle Si is the most
popular database currently in use. Various approach3s to data management are:
Manual methods of data management
Management of data and information
Convenient and efficient retrieval
Updating operations
1.1Purpose:
1.The purpose of software system can fulfil the requirements of "Library
System" In this software, you can manage the record Books, Students Record,
Issue Book Record, Return Books Record, Stock in Library, Reports of Books,
Students.
2. It also maintains the record of books that means book name, book id, book
author, publisher, quantity etc.
3. Searching
1.2 Scope:
In this software, you can manage the record Books, Students Record, Issue
Book Record, Return Books Record, Stock in Library, Reports of Books,
Students. All the transaction which is do manually will do with the help of
computer.
This product is very important for school, college and university library system.
It is very simple to understand for simple naïve user. In this software duplicate
entry is not possible. After entering the data in database user can also take the
Page 13
Roll No. 2028192 Subject code: BTCS-506-18
detail of various books, students, issue record, return books record in printing
form.
This software will helpful in searching the Student Record, Books Record in
Library. This software also checks the duplicate Book Entry, Student Roll No.
There will be no chance of duplicity. Because the Book no. will be unique. In
any Class Student also have their different Roll no.
Page 14
Roll No. 2028192 Subject code: BTCS-506-18
2.3 Constraints:
Following are the important constraints that are used in this software before
installation into the PC. 1. Recognition of need
2. Feasibility study
3. Analysis
4. Design
5. Implementation & Maintenance
3. Specific Requirements
3.1 Internal Interfaces:
Which are used to collect the data from sources within the organization and they
are:
a Finance Reports
Page 15
Roll No. 2028192 Subject code: BTCS-506-18
a Personnel Staff
a Professional Staff
a System documents and manuals
User Staff
Reports transaction documents
3.2.1 Functions:
Sorting of data
Searching
Retrieval of data
Manage the record Books
Students Record
Issue Book Record
Return Books Record
Stock in Library
Reports of Books & Students
Page 16
Roll No. 2028192 Subject code: BTCS-506-18
Page 18
Roll No. 2028192 Subject code: BTCS-506-18
Practical-4
Aim-4 Preparation of Software Configuration Management and Risk
Managementrelated documents.
SCM defines a mechanism to deal with different technical difficulties of a
project plan. In a software organization, effective implementation of software
configuration management can improve productivity by increased coordination
among the programmers in a team. SCM helps to eliminate the confusion often
caused by miscommunication among team members. The SCM system controls
the basic components such as software objects, program code, test data, test
output, design documents, and user manuals.
The SCM system has the following advantages:
Reduced redundant work.
Effective management of simultaneous updates.
Avoids configuration-related problems.
Facilitates team coordination.
Helps in building management; managing tools used in builds.
Defect tracking: It ensures that every defect has traceability back to its
source
Configuration management is a technique or discipline to systematically
manage, organize and control the changes in the documents, codes, artifacts and
other entities during the development life cycle.
Risks are the events that may lead to project failure of delay. There are 3
categories of risk:
1. Project Risk:-That affect the project schedule or resources.
2. Product Risk: - That affect the quality or performance of the
software being developed.
3. Business Risk: - that affect the organization developing or procuring the
software.
Page 20
Roll No. 2028192 Subject code: BTCS-506-18
<PROJECT NAME>
Page 21
Roll No. 2028192 Subject code: BTCS-506-18
VERSION HISTORY
Page 22
Roll No. 2028192 Subject code: BTCS-506-18
TABLE OF CONTENTS
1.INTRODUCTION
1.1 Purpose of The Configuration Management Plan
2.CONFIGURATION MANAGEMENT
2.1 Approach
2.2 Organization
2.3 Training
3. CONFIGURATION MANAGEMENT ACTIVITIES
3.1 Configuration Items
3.2 Configuration Identification
3.3 Artifact Life Cycle
3.4Configuration Control
3.5Configuration Auditing/Reporting
APPENDIX A: CONFIGURATION MANAGEMENT PLAN APPROVAL
APPENDIX B: REFERENCES
APPENDIX C: KEY TERMS
Page 23
Roll No. 2028192 Subject code: BTCS-506-18
1. Introduction
1.1 Purpose of the Configuration Management Plan
[Provide the purpose of the Configuration Management Plan.]
The overall objective of a Configuration Management (CM) Plan is to
document and inform project stakeholders about CM with the project, what
CM tools will be used, and how they will be applied by the project to promote
success. The <Project Name> CM Plan defines the project's structure and
methods for
Identifying, defining, and base lining configuration items (CI)
Controlling modifications and releases of CIs
Reporting and recording status of Cls and any requested modifications
Ensuring completeness, consistency, and correctness of CIs
Controlling storage, handling, and delivery of the CIS
The intended audience of the CM Plan is the project manager, project
team, project sponsor and any senior leaders whose support is needed to
carry out communication plans.
2. Configuration Management
2.1 Approach
[Identify the recommended CM approach (make or buy). Justify why one option
was selected of the other. If purchasing a CM system, identify which system(s)
were recommended as potential options and why one was chosen over the
others.]
2.2 Organization
[Identify items such as how CM activities will impact the organization,
definition of roles and responsibilities for those involved the CM activities and
those impacted by them, what organizational policies and procedures may be
impacted, and any interfaces between other organizations that may impact the
CM effort.]
2.3 Training
[Identify the kind and amount of training necessary to bring the performing
organization up to speed on what configuration management is, any tools used to
perform CM activities, and what, if any, impact CM may have on how work is
performed. This may include development team orientation, tools training,
organizational awareness, etc.]
3. Configuration Management Activities
3.1 Configuration Items
[Identify what items will and will not be placed under CM.]
3.2 Configuration Identification
[Define how configuration items will be identified throughout the CM/Project
Page 24
Roll No. 2028192 Subject code: BTCS-506-18
life cycle.This section should define identification schemas for information such
as:
Labelling and numbering documents and files and files
Relationships between documents
Addressing versions and releases
Various baselines for the project (product versioning)]
Page 25
Roll No. 2028192 Subject code: BTCS-506-18
Signature: Date:
Print Name:
Title:
Role:
Signature: Date:
Print Name:
Title:
Role:
Signature: Date:
Print Name:
Title:
Role:
APPENDIX B: REFERENCES
[Insert the name, version number, description, and physical location of any
documents referenced in this document. Add rows to the table as necessary.]
Page 26
Roll No. 2028192 Subject code: BTCS-506-18
Practical-5
Aim-5 Study and usage of any Design phase CASE tool
Relational rose
1. Rational Software
Rational Machines was founded by Paul Levy and Mike Devlin in 1981 to
provide tools to expand the use of modem software engineering practices,
particularly explicit modular architecture and iterative development.
2. Rational Environment
The Rational Environment was organized around a persistent intermediate
representation (DIANA), providing users with syntactic and semantic
completion, incremental compilation, and integrated configuration management
and version control. To overcome a conflict between strong typing and iterative
development that produced recompilation times proportional to system size
rather than size-of-change, the Rational Environment supported the definition of
subsystems with explicit architectural imports and exports; this mechanism later
proved useful in protecting application architectures from inadvertent
degradation. The Environment's Command Window mechanism made it easy to
directly invoke Ada functions and procedures, which encouraged
developerdriven unit testing. The company's name was later changed from
"Rational Machines" to Rational to avoid emphasizing this proprietary
hardware. Rational provided code generators and cross-debuggers for then-
popular instruction set architectures such as the VAX, Motorola 68000, and
X86, much of this was accomplished through a partnership with Tartan Labs,
founded by Bill Wulf to commercialize his work on optimizing code generators
semiautomatically produced from architecture descriptions (PQCC).
3. Organization
Rational's field organization was noteworthy for its team-based approach to
customer success. Sales teams were led by an account representative, and
included 3 to 5 software engineers referred to as technical representatives
(techreps). Sales teams engaged with their customers both pre-sales and
postsales, and were held accountable for customer success as well as for
revenue targets. This approach encouraged deep engagement between techreps
and customers, which in turn helped Rational develop a significant experience
base in the successful development of complex long-lived software. The Best
Practices underlying the later Rational Unified Process (RUP) - iterative
development, component-based architecture, modelling, continuous developer-
Page 27
Roll No. 2028192 Subject code: BTCS-506-18
Page 28
Roll No. 2028192 Subject code: BTCS-506-18
Page 29
Roll No. 2028192 Subject code: BTCS-506-18
Page 30
Roll No. 2028192 Subject code: BTCS-506-18
Page 31
Roll No. 2028192 Subject code: BTCS-506-18
Page 32
Roll No. 2028192 Subject code: BTCS-506-18
❖ Collaboration Diagram
Collaboration names a society of classes, interfaces , and other elements that
work together to provide some cooperative behaviour that’s bigger than the sum
of all its parts.
Page 33
Roll No. 2028192 Subject code: BTCS-506-18
Page 34
Roll No. 2028192 Subject code: BTCS-506-18
Practical-6
Aim-6 To perform unit testing and integration testing using Jasmine tool.
introduction.js
Jasmine is a behaviour-driven development framework for testing JavaScript
code. It does not depend on any other JavaScript frameworks. It does not
require a DOM. And it has a clean, obvious syntax so that you can easily write
tests. This guide is running against Jasmine version 2.0.0.
Standalone Distribution
The releases page has links to download the standalone distribution, which
contains everything you need to start running Jasmine. After downloading a
particular version and unzipping, opening SpecRunner.html will run the
included specs. You'll note that both the source files and their respective specs
are linked in the of the SpecRunner.html. To start using Jasmine, replace the
source/spec files with your own.
describe("A suite", function(){
it("contains spec with an expectation", function() {
expect(true).toBe(true);
});
});
Suites: describe Your Tests
A test suite begins with a call to the global Jasmine function describe with two
parameters: a string and a function. The string is a name or title for a spec suite -
usually what is being tested. The function is a block of code that implements the
suite.
Specs
Specs are defined by calling the global Jasmine function it, which, like describe
takes a string and a function. The string is the title of the spec and the function
is the spec, or test. A spec contains one or more expectations that test the state
of the code. An expectation in Jasmine is an assertion that is either true or false.
A spec with all true expectations is a passing spec. A spec with one or more
false expectations is a failing spec.
It's Just Functions
Since describe and it blocks are functions, they can contain any executable code
necessary to implement the test. JavaScript scoping rules apply, so variables
declared in a describe are available to any it block inside the suite.
Page 36
Roll No. 2028192 Subject code: BTCS-506-18
Expectations
Expectations are built with the function expect which takes a value, called the
actual. It is chained with a Matcher function, which takes the expected value.
describe("The toBe' matcher compares with==’, function() {
It(“ and has a positive case", function(){ expect(true).toBe(true);
});
Matchers
Each matcher implements a Boolean comparison between the actual e and the
expected value. It is responsible for reporting to Jasmine if the expectation is true
or false. Jasmine will then pass or fail the spec.
Any matcher can evaluate to a negative assertion by chaining the call to expect
with a not before calling the matcher.
At a high level, these are the steps we cover:
1. Install Jasmine
2. Write a JavaScript program to use as the program under test
3. Write the Jasmine unit test
4. Execute the test and view results
function MultiplyTwoNumbers(a,b){
Page 37
Roll No. 2028192 Subject code: BTCS-506-18
I have created two simple programs for addition and product of two numbers in
ExampleCodejs.
3. Write the Jasmine unit test
Before I wrote my test program, I added the jasmine-standalone-2.0.3 folder to
my project by doing simple copy-paste of folder. I can also do it by using
Import option in Eclipse. I then added a new file UnitTest.js in the
$JASMINE_DIR/spec folder.
My project files structure looks like this.
In this HTML file, I put the exact files location of my source and spec files.
To view results, I have to open SpecRunner.html with a browser.
Page 40
Roll No. 2028192 Subject code: BTCS-506-18
Practical-7
Aim-7 To perform various white box and black box testing techniques
Black box testing treats the system as a "black-box", so it doesn't explicitly use
Knowledge of the internal structure or code. Or in other words the Test engineer
need not know the internal working of the "Black box" or application.
Main focus in black box testing is on functionality of the system as a whole.
The term “behavioural testing” is also used for black box testing and white box
testing is also sometimes called 'structural testing'. Behavioural test design is
slightly different from black-box test design because the use of internal
knowledge isn't strictly forbidden, but it's still discouraged.
Black box testing occurs throughout the software development and Testing life
cycle ie in Unit, Integration, System, Acceptance and regression testing stages.
Page 41
Roll No. 2028192 Subject code: BTCS-506-18
BVA techniques:
1.Number of variables For n variables: BVA yields 4n+1 test cases.
2.Kinds of ranges Generalizing ranges depends on the nature or type of
variables.
Advantages of Boundary Value Analysis
1. Robustness Testing - Boundary Value Analysis plus values that go
beyond the
Limits.
2. Min-1, Min, Min +1, Nom, Max-1, Max, Max +1.
3. Forces attention to exception handling
Limitations of Boundary Value Analysis
Boundary value testing is efficient only for variables of fixed values i.e
boundary.
Page 42
Roll No. 2028192 Subject code: BTCS-506-18
statement in the code is executed at least Tools: To test the Statement Coverage
the Cantata++ can be used as white box testing tool. once.
Decision Coverage: In this white box testing technique try to cover 100%
decision coverage of the code, it possible decision conditions like if-else, for
loop and other conditional loops in the code is executed at means while testing
the very least once.
Tools: To cover the Decision Coverage testing in the code the TCAT-PATH is
used. This supports for the C. C++ and Java applications.
Condition Coverage:
In this white box testing try to cover 100% Condition coverage of the code, it
means while testing the every possible conditions in the code is executed at least
once.
Decision/Condition Coverage:
In this mixed type of white box testing technique try to cover 100%
Decision/Condition coverage of the code, it means while testing the every
possible Decisions/Conditions in the code is executed at least once.
Multiple Condition Coverage:
In this type of testing we use to cover each entry point of the system to be
execute once.
In the actual development process developers are make use of the combination of
techniques those are suitable for their software application.
Using above mentions testing white box testing techniques the 80% to 90% code
coverage is completed which might be sufficient with white box testing,
Advantages of White Box Testing -
To start the testing of the software no need to wait for the GUI, you can
start the White Box Testing
As covering all possible paths of code so this is a thorough testing.
Tester can ask about implementation of each section, so it might be
possible to remove unused lines of code which might be causing
introduction of bug
By executing equivalence use to approximates the partitioning. As the
tester is aware of internal coding structure, then it is helpful to derive
which type of input data is needed to testing software application
effectively.
White box testing allows you to help in the code optimization.
Page 44
Roll No. 2028192 Subject code: BTCS-506-18
Page 45
Roll No. 2028192 Subject code: BTCS-506-18
Practical-8
Aim-8 Testing of a website.
Following Aspects are checked during website testing.
1) Functionality Testing
2) Usability testing
3) Interface testing
4) Compatibility testing
5) Performance testing
6) Security testing
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.
Check all the links:
Test the outgoing links from all the pages to specific domain under test
Test all internal links
Test links jumping on the same pages.
Test links used to send email to admin or other users from web pages.
Test to check if there are any orphan pages.
Finally link checking includes, check for broken links in all above-
mentioned links.
Page 46
Roll No. 2028192 Subject code: BTCS-506-18
Let's take example of the search engine project currently I am working on, in this
project we have advertiser and affiliate signup steps. Each sign up step is
different but its dependent on the other steps. So sign up flow should get
executed correctly. There are different field validations like email Ids, User
financial info validations etc. All these validations should get checked in manual
or automated web testing.
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
(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. (I will soon write a separate article on cookie testing as well)
Validate your HTML/CSS:
If you are optimizing your site for Search engines then HTML/CSS validation is
the most important one. Mainly validate the site for HTML syntax errors. Check
if the site is crawl able 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:
Test for navigation: Navigation means how a user surfs the web pages,
different controls like buttons, boxes or how the user uses the links on pages 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.
Page 47
Roll No. 2028192 Subject code: BTCS-506-18
Content checking: Content should be logical and easy to understand. Check for
spelling errors. Usage of dark colors annoys the users and should not be used in
the site theme. You can follow some standard colors that are used for web page
and content building. These are the common accepted standards like what I
mentioned above about annoying colors, fonts, frames etc.
Content should be meaningful. All the anchor text links should be working
properly. Images should be placed properly with proper sizes.
These are some of basic important standards that should be followed in web
development. Your task is to validate all for UI testing
Other user information for user help: Like search option, sitemap also help
files etc. Sitemap should be present with all the links in websites with proper tree
view of navigation. Check for all links on the sitemap.
"Search in the site" option will help users to find content pages that they are
looking for easily and quickly. These are all optional items and if present they
should be validated.
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
Page 48
Roll No. 2028192 Subject code: BTCS-506-18
Page 50