Se Assign 1
Se Assign 1
AND STUDIES
1
Question 1: Differentiate between
Answer:
Process Product
A “process” is a
repetitive sequence of The sequence of tasks in a
Process tasks and the tasks “product” is not normally
Orientation are known at the repetitive and may not be known
outset since it is at the outset of the product.
repetitive.
2
Quality Assurance and Quality Control
Quality Assurance is a part of quality management Quality Control is a part of quality management
process which concentrate on providing process which concentrates on fulfilling the quality
confidence that quality requirements will be requirements.
fulfilled
Quality Assurance is the process of managing for Quality Control is used to verify the quality of the
quality; output
The goal of Quality Assurance is to prevent b uy pr ov i g i l The goal of Quality Control is to identify the defects
introducing defects in the software application
f as t in the software application after it is developed.
which help to improve the development and
testing processes.
QA is Pro-active means it identifies weaknesses in QC is Reactive means it identifies the defects and
the processes. also corrects the defects or bugs also.
It does not involve executing the program or code. It always involves executing the program or code.
All peoples who are involved in the developing Testing team is responsible for Quality control.
software application as responsible for the quality
assurance.
Quality Assurance basically aim to prevention of Quality Control basically aim to detection of defects
defects to improve the quality. to improve the quality.
3
Quality Assurance Quality Control
It is done before Quality Control. It is done only after Quality Assurance activity is
completed.
Quality Assurance means Planning done for doing Quality Control Means Action has taken on the
a process. process by execute them.
It is a way of software testing in which the It is a way of testing the software in which the
internal structure or the program or the code tester has knowledge about the internal structure
is hidden and nothing is known about it. r the code or the program of the software.
This testing can be initiated on the basis of This type of testing of software is started after
It is the behaviour testing of the software. It is the logic testing of the software.
It is applicable to the higher levels of testing It is generally applicable to the lower levels of
4
Question 2: What is the role of testing team in SDLC? What are the various members of software
testing team?
Answer:
Software Development Life Cycle (SDLC) is the procedure of mounting application with appropriate
investigation, plan, execution and preservation.
Testing stages have lot of significance in SDLC due to a most important part in executing and fault
rectification. SDLC phases are followed by testing and implementation sequence of all software. Here we
are describing the phases of SDLC:
In this phase of SDLC, suitable necessities of system are accumulated. All adjacent methods should be in
focus. All types of estimation and examination of user needs are done in this phase.
System Design
In the second phase a basic system planning is done. After collecting the all statistics and data, a system
design is done.
Implementation
In the next phase implementation of project is done. Respect to the system design, correct development
is made to expand that design. According to the project programming language will be chosen.
System Testing
After the implementation phase, system testing phase take place to recognize the result of application.
Testing is done to recognize the original result and the predictable result.
Operation Maintenance
It is the ultimate phase of SDLC, where the application which is implemented is spread to users who are
answerable for conserving and using it for appropriate actions. The implemented application should be
available for any adjustment to do in coding.
5
The basic job of software testing is to identify errors in order to reveal and spot it. The extent of
software testing consists of implementation of that code in different domain and also to look at the
features of the code does the software do what it is should be done and methods respect to the
condition. It is proposed to begin testing from the first phase of the software development. This is not
only aids in correcting the faults earlier to the last step, but also decrease the reworking of getting errors
in the first step every time. It saves time as well as cost. It is a continuous method, which is probably
nonstop but has to be stopped anywhere, for the need of time and resources. The basic need of the
testing is to provide best quality product without taking so much time and money. The test engineer has
to pursue some technical way by which he/she can review that all the points of necessity for testing
have been covered or not. A register should be created for keeping records of the day to day test cases.
Presently in the IT Field, a testing group might be divided from the development team. There are several
roles for testing team members. Whatever outcome derivative from testing may be used to accurate
software development process.
There is requirement for estimating the software, at the phase of implementation as well as after the
software is completed for deliver. Though it is very complicated to estimate the conceptual controls but
the controls are also very important to do estimation. The components that cannot be estimated have
to be restricted. There are some vital uses of estimating the system.
Cost exceeds.
Illuminating objectives.
6
It helps to estimate the value of the application, price and attempt evaluation, set of information, output
and achievement assessment.
Inception Phase
In this phase, a test engineer will get an opportunity to indentify the necessities of project. Normally the
data are recorded by the architecture team in the architectural reference document. Data design,
information design, system design are the main issues in this phase.
Elaboration Phase
In this phase, a test engineer will get an opportunity to indentify how the project is planned. This is a
major phase, where the entire design of the project is documented in the JAD phase in the System
requirement document, business requirement document, product requirement document commercial
use cases. Planner, Commercial reviewer, project organization, execution, testing, maintenance of
project teams etc are attended the JAD phase to give sign-off on these completed document.
Construction Phase
In this phase, programmers play an important role of building the application depends on the plan
acknowledged during the JAD stage. Here tester group have to follow the programming group to identify
several adjustments taken by the system. There may be any kind of fault which are overlooked by
programmer, misapprehend the planed records, in that time, a tester can always rise the issue to the
regarding programmer to solve the issue. A testing group requires developing the high level scenarios
(HLS) on basis of the elaboration phase. High level scenarios may have more than one test case. A tester
should ensure that all the necessities are discovered to a test case by a quality affirmation standard. It is
mandatory to record test cases on the basis of all probable references of the newest modernized data
and also signed-off.
Transition Phase
In this phase if any fault or errors are originate then these are test again and it goes though the
regression testing. With the help of regression testing, consistent systems develop. By the helping of
these testing methods, any fundamental result can be converted into a tough and consistent system.
7
Software Development Life Cycle Model
There are different types of Software Development Life Cycle models and every model is used in testing
stage. So, its create testing a very essential element in any SDLC. With the help of different type of
testing (e.g. assimilation tests, element testing, user recognition testing system testing and regression
tests etc.) coder may produce a consistent and reliable application. Testing also includes some process
e.g. test analysis, test plan, test design and test execution.
In any system networks, server system is measured as principal terminal and other procedure are known
to be minor terminals. So, SDLC includes principal station and minor station for its approach of
statement. Minor station has its own address and they are devoted to general port. SDLC is used for end
to end communication and also for various isolated connections. There is lots of main equipment linked
with SDLC. It is measured as the base of normal data connected model in ISO, esteemed information
connection rules. SDLC are very well-organized models and used in well matched network with its own
confidential appearance.
8
9
Question 3: Differentiate between Waterfall model and V model. V model is best among all if yes
then justify your answer.
Answer:
V-model is the most important model that is used in the process of software testing. It is also
known as Verification and Validation Model. It is Introduced by the late Paul Rook in 1980s. V-
model is a sequential process in which the next phase begins only after the completion of the
present phase. In this model, steps don’t move in a linear way while the steps are bent upwards.
It is similar to Waterfall model because we follow V-model from left to right as well as follow a
sequential path of execution of processes like as in waterfall model.in waterfall model steps are
followed as requirements, design, implementation, verification and finally maintenance. In the
same way, the same steps are followed in V-model. So we can say that V-model is the alternate
of the waterfall model.
Besides that v-model is the alternate of the waterfall model. There is some difference between
these two models which are given below.
Limited. extent.
10
only in beginning. only in beginning.
start after the development activities In V-model testing activities start with
Software made using Waterfall model, Software made using V-model, the
Answer:
Software life cycle models describe phases of the software cycle and the order in which those
phases are executed. Each phase produces deliverables required by the next phase in the life
cycle. Requirements are translated into design. Code is produced according to the design which
is called development phase. After coding and development the testing verifies the deliverable of
the implementation phase against requirements. The testing team follows Software Testing Life
Cycle (STLC) which is similar to the development cycle followed by the development team.
There are following six phases in every Software development life cycle model:
11
Requirement gathering and analysis
Design
Implementation or coding
Testing
Deployment
Maintenance
1) Requirement gathering and analysis: Business requirements are gathered in this phase. This
phase is the main focus of the project managers and stake holders. Meetings with managers,
stake holders and users are held in order to determine the requirements like; Who is going to use
the system? How will they use the system? What data should be input into the system? What
data should be output by the system? These are general questions that get answered during a
requirements gathering phase. After requirement gathering these requirements are analyzed for
their validity and the possibility of incorporating the requirements in the system to be
development is also studied.
Finally, a Requirement Specification document is created which serves the purpose of guideline
for the next phase of the model. The testing team follows the Software Testing Life Cycle and
starts the Test Planning phase after the requirements analysis is completed.
2) Design: In this phase the system and software design is prepared from the requirement
specifications which were studied in the first phase. System Design helps in specifying hardware
and system requirements and also helps in defining overall system architecture. The system
design specifications serve as input for the next phase of the model.
In this phase the testers comes up with the Test strategy, where they mention what to test, how to
test.
4) Testing: After the code is developed it is tested against the requirements to make sure that the
product is actually solving the needs addressed and gathered during the requirements phase.
During this phase all types of functional testing like unit testing, integration testing, system
testing, acceptance testing are done as well as non-functional testing are also done.
5) Deployment: After successful testing the product is delivered / deployed to the customer for
their use.
12
As soon as the product is given to the customers they will first do the beta testing. If any changes
are required or if any bugs are caught, then they will report it to the engineering team. Once
those changes are made or the bugs are fixed then the final deployment will happen.
6) Maintenance: Once when the customers starts using the developed system then the actual
problems comes up and needs to be solved from time to time. This process where the care is
taken for the developed product is known as maintenance.
Answer:
A Software tester (software test engineer) should be capable of designing test suites and
should have the ability to understand usability issues. Such a tester is expected to have
sound knowledge of software test design and test execution methodologies. It is very
important for a software tester to have great communication skills so that he can interact
with the development team efficiently. The roles and responsibilities for a usability
software tester are as follows:
1. A Software Tester is responsible for designing testing scenarios for usability testing.
2. He is responsible for conducting the testing, thereafter analyze the results and then
submit his observations to the development team.
3. He may have to interact with the clients to better understand the product
requirements or in case the design requires any kind of modifications.
4. Software Testers are often responsible for creating test-product documentation and
also has to participate in testing related walk through.
A software tester has different sets of roles and responsibilities. He should have in depth
knowledge about software testing. He should have a good understanding about the system
which means technical (GUI or non-GUI human interactions) as well as functional product
aspects. In order to create test cases it is important that the software tester is aware of
various testing techniques and which approach is best for a particular system. He should
know what are various phases of software testing and how testing should be carried out in
each phase. The responsibilities of the software tester include:
1. Creation of test designs, test processes, test cases and test data.
13
4. Prepare all reports related to software testing carried out.
5. Ensure that all tested related work is carried out as per the defined standards and
procedures.
Managing or leading a test team is not an easy job. The company expects the test manager
to know testing methodologies in detail. A test manager has to take very important
decisions regarding the testing environment that is required, how information flow would
be managed and how testing procedure would go hand in hand with development. He
should have sound knowledge about both manual as well as automated testing so that he
can decide how both the methodologies can be put together to test the software. A test
manager should have sound knowledge about the business area and the client’s
requirement, based on that he should be able to design a test strategy, test goal and
objectives. He should be good at project planning, task and people coordination, and he
should be familiar with various types of testing tools. Many people get confused between
the roles and responsibilities of a test manager and test lead.For a clarification, a test lead
is supposed to have a rich technical experience which includes, programming, handling
database technologies and various operating systems, whereas he may not be as strong as
Software Test Manager regarding test project management and coordination. The
responsibilities of the test manager are as follows:
1. Since the test manager represents the team he is responsible for all
interdepartmental meetings.
4. Schedule testing activities, create budget for testing and prepare test effort
estimations.
5. Selection of right test tools after interacting with the vendors. Integration of testing
and development activities.
6. Carry out continuous test process improvement with the help of metrics.
14
Software test automator or an automated test engineer should have very good
understanding of what he needs to test- GUI designs, load or stress testing. He should be
proficient in automation of software testing, and he should be able to design test suites
accordingly. A software test automator should be comfortable using various kinds of
automation tools and should be capable of upgrading their skills with changing trends. He
should also have programming skills so that he is able to write test scripts without any
issues. The responsibilities of a tester at this position are as follows:
1. He should be able to understand the requirement and design test procedures and
test cases for automated software testing.
3. Ensure that all automated testing related activities are carried out as per the
standards defined by the company.
If at all a customer has any issues related to testing activities and operational matters of the
project then it is the software testing manager who is responsible for communicating the
details to the client regarding how things are being managed. The software testing manager
not only answers the queries of the customers but also ensures that the project is completed
on time as per the requirement of the customer.
In order to produce good software applications, it is important that software testing and
software development teams work together with good understanding. For this it is
important that the testers and developers are comfortable with each other’s role and
understand well that they have a common goal and it is wise to listen each other. A good
communication skill is very important both for testers and developers.
Before getting started with testing work it is important to discuss the basic guidelines and
expectations so that there is no confusion in later stages. Criticism should be taken in a
positive sense. It is important to understand that developers and testers have a common
goal of producing high quality software. A tester is not discovering bugs to show someone
down, the idea is to learn from mistakes and avoid repeating them in future. A culture of
constructive criticism can be of great help.
The release management teams are responsible for moving the software from development
into production. This team is responsible for planning the releases for hardware, software
and testing. It is also responsible for development of software development procedures and
15
for coordinating interactions and training of releases. Software testing is considered to be a
very important aspect of software engineering life cycle but it does not get over with
development. Testing and verification is a very important part of release management
exercise.
The job of a software test manager is not an easy one. He has to recruit testing team and
take responsibility for getting them trained. A software manager has to perform ongoing
analysis of various testing processes and ensure that the testing team is carrying out all the
processes correctly. This job is of great responsibility as the software testing manager is the
one who selects, introduces and implement various tools for testing. A software test
manager is responsible for finalizing templates for testing documents, test reports and
other procedures.
Since a software tester manager has to deal with all the details of various testing activities,
it is very important for him to be in constant touch with the project manager and provide
necessary support in project planning and scheduling so that the project can be
successfully completed in time within the specified financial budget limits.
Question 6: Explain the terms quality Assurance and Quality Control in context of software testing ?
Answer:
Quality Assurance is known as QA and focuses on preventing defect. Quality Assurance ensures that
the approaches, techniques, methods and processes are designed for the projects are implemented
correctly.
Quality assurance activities monitor and verify that the processes used to manage and create the
deliverables have been followed and are operative.
16
Quality Assurance is a proactive process and is Prevention in nature. It recognizes flaws in the
process. Quality Assurance has to complete before Quality Control.
Quality Control is known as QC and focuses on identifying a defect. QC ensures that the approaches,
techniques, methods and processes are designed in the project are following correctly. QC activities
monitor and verify that the project deliverables meet the defined quality standards.
Quality Control is a reactive process and is detection in nature. It recognizes the defects. Quality
Control has to complete after Quality Assurance.
Many people think QA and QC are the same and interchangeable but this is not true. Both are tightly
linked and sometimes it is very difficult to identify the differences. Fact is both are related to each
other but they are different in origins. QA and QC both are part of Quality Management however QA
is focusing on preventing defect while QC is focusing on identifying the defect.
17