0% found this document useful (0 votes)
103 views9 pages

Software Quality, Change Management & Testing: MITS 5501

The document summarizes an interview with Chintan Trivedi, a technical engineer with 13 years of experience, about software quality assurance plans. Some key points from the interview include: 1. Trivedi described the PDCA (Plan-Do-Check-Act) cycle that is used for software quality assurance processes. 2. He explained the differences between software quality assurance, which focuses on processes, and software testing, which focuses on verifying products. 3. Risk-based testing prioritizes test cases based on factors like complexity, criticality, usage frequency, and number of users.

Uploaded by

Simran Sandhu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
103 views9 pages

Software Quality, Change Management & Testing: MITS 5501

The document summarizes an interview with Chintan Trivedi, a technical engineer with 13 years of experience, about software quality assurance plans. Some key points from the interview include: 1. Trivedi described the PDCA (Plan-Do-Check-Act) cycle that is used for software quality assurance processes. 2. He explained the differences between software quality assurance, which focuses on processes, and software testing, which focuses on verifying products. 3. Risk-based testing prioritizes test cases based on factors like complexity, criticality, usage frequency, and number of users.

Uploaded by

Simran Sandhu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 9

MITS 5501

Software Quality, Change Management & Testing

ASSIGNMENT-2
RESEARCH REPORT

SUBMITTED TO: SUBMITTED BY:


Mr. Ahmed Dawoud Rupinder Kaur (42260)
Kamaldeep Kaur(42401)
Simran Sandhu(42186)
Introduction: -

The Software Quality Assurance Plan tells about the quality objectives that will be
achieved by an organization. Moreover, quality assurance and control activities that
are needed to be performed are described by quality assurance plan. It is popularly
known as QA Testing. It is related with the other elements such as Test Plan, Test
Cases and Test Effort Estimation.

To know more about Software quality Assurance Plan and its supporting
components, we took an interview of a person having 13 years of experience in IT
sector. This person named as, Chintan Trivedi, who is working as a technical engineer
at Salesforce. He started his career in 2006 as a software engineer in L & T Infotech
and worked for 3years. Then he moved to IBM company in 2009 and worked as an
application developer for 1 year. After that he worked in Zensar Technologies for 5
years as a Senior Engineer and Software Engineer. Then he moved to Sydney,
Australia and worked in the Commonwealth Bank as a Business Information Analyst.

Therefore, he has an experience in analysis, design, coding, testing, production


support of application software, workflow, process builder, visual workflow, approval
process of automatic business processes in Salesforce, data management and
migration using tools like import wizard and apex data loader, retail and insurance
business processes and function domains. Also, he has experience of all facets of
SDLC including gathering, designing, coding, testing and deployment.

He has done certified courses in Advanced Administrator, Platform app builder,


Platform developer 1, Sales cloud consultant, Service cloud consultant, Sharing and
visibility designer.

In this report , reflection of our thinking related with the views of interviewee will be
discussed.

Content: -

According to interviewee the Complete Process of SQA is called PDCA Cycle which
include – Plan – According to him, organization should make plans and develop the
procedures that are related with the objectives so that a high-Quality end- product.
Can be delivered. Do- “do" changes in testing processes. Check– It includes to
observe the processes, to make some changes in the processes and the most
importantly is to check whether predetermined aims of the process are meeting or
not. Act – It includes actions that are needed to be implemented so that some
improvements can be brought in the processes.

Moreover, Software Quality Assurance Plan include activities. According to lecture


slides, most Software quality assurance activities can be categorized into 3 main
areas. 1.) Testing which is supported by Standards. 2.) Quality Control which is
supported by processes. 3.) Software Configuration Management that is supported
by Conventions and the Specifications.

Further, Interviewee explained difference between SQA and Software Testing.


According to him, Quality Assurance focus on processes. It is about engineering
process. It provides protection to the processes so that they can be managed easily.
Moreover, it makes sure that quality of the product can be achieved effectively. It
involves implementation of the process. It is proactive in nature. It can be applied on
all the products that can be created by an organization.

On the other hand, Software Testing is about to test the product in a real manner
before you go live. Software Testing is a process where we can find bugs and system
works smoothly. It is a part of Quality Control. It involves the activities concerning
verification of the product for example many types of testing are done to review the
product like unit testing. It focuses on products. It is reactive in nature. It can be
applied on specific products only.

He also explained quality assurance functions which are performed by quality


assurance managers such as they coordinate it wit quality control procedures, they
try to improve an organization’s efficiency, they try to maintain the rules and
regulations of an organization, they work as a team ,therefore, they train their staff,
recruit them and tell them guidelines to make better product, they work with
suppliers to make sure that the quality of the product is effective, they review data
and analyze records if any problem is there.
Then, he talked about Test Cases, it is a set of actions executed to verify a function of
a software application. According to interviewee, to perform a module,
requirements are needed and add functionality into it and put a code that needs to
be tested which should be of good quality without any bugs and it should meet all
the requirements, therefore test cases are created.

Then, Interviewee told the ways to write good test cases such as 1.) It should simple
so that it is easy to understand. 2.) It should modular. 3.) It should be reusable and
can be reduced overall development and testing.

According to lecture slides, there are some other ways also like 1.) try to avoid test
case repetition 2.) do not assume anything 3.) ensure 100% coverage 4.) test cases
must be identifiable 5.)implementing testing techniques 6.) peer review must be
there.

According to the interviewee, ‘sign off requirements’ is one of the important point
that needs to be considered while writing a test cases and we also agree with his
point because sign off requirements is the part which needs to be prioritize as it
provides detailed view of requirements/expectations of the stakeholders that makes
the developer’s task easy to deliver final application.

Further, the interviewee also talked about ‘equivalence partitioning’ method which
helps to reduce the total number of test cases. In our point of view, it is a crucial part
to design test cases as well as to reduce the time required to test a software due to
the smaller number of test cases. As we learned in our lecture that through this
method, input data can be divided into various equivalence data classes and it is
assumed that inputs from the same partition will behave the same so that
developers are no longer needed to write 1000 test cases for 1000 inputs, it is easy
to divide them into different three or four classes and write test cases for that class.

Moreover, another method was mentioned by the interviewee is boundary value


analysis which we reckon it is an important method and solution for the problems
related to the equivalence partitioning. As we are taught in our class with clear
examples that though we divide test cases into equivalence classes but what if most
of the errors occur at the boundaries between equivalence partitions. So, to
overcome this problem ‘boundary value analysis’ is considered as a solution to
reduce boundary errors.

To test values, tester is needed to choose data just above and just below the
boundary values as well as some nominal values from every equivalence class.
Therefore, equivalence partitioning and boundary value analysis can be used
together at all levels of testing. Additionally, interviewee added some more points
that needs to be considered to design/write a test cases like criticality, complexity
and coverage of all requirements, we think these points somewhere also has much
or less importance so, it also must need to be given priority.

Further, for risk-based testing, interviewee explained some reasons that can result
into risks if they are not taken seriously. These reasons may include how complex the
test cases are, the criticality of the test cases, how many users are going to use the
application and how frequently the system is going to be used. The example he gave
related to sales order was very clear enough that how there can be higher chances of
risks if the application is being used very often.

However, we have learnt from the lecture that there can be some another kind of
risks involved related to test cases and lecture discusses that the test cases should
describe risk conditions/exceptions prior that may occur. The possible risks may be
due to change into the requirements, changing business processes, less time, less
resources, budget constraints, lost data, customer dissatisfaction etc.

Moreover, interviewee stated one method which they use if they have identified any
risk, they register the risk into project maintain register as well as they use
confluence software to collaborate and share information about that risks across
whole team to further arrange some meeting to find out the solution of the risk. We
are quite satisfied with his example to mitigate any risk and our lecture has not
discussed in detail that how can we manage any risk, therefore, through our search
we have found out that risk based testing, risk analysis approach, develop a
contingency planning and traceability can be some quiet effective in this context.

Moving to the limit of writing test cases, the interviewee expressed his view that
however there is no limit to write test cases but keeping in mind the time and
resources we cannot go beyond a limit. The concept that we have understood in our
lecture discusses that for 100 requirements we need at least 100 test cases but more
than that depends upon your time, resources, planning etc. However, according to
our search, based on the proper categorization of requirements at least 3 test cases
(positive, negative and more based on tester’s ability) can be written. Finally, instead
of saying maximum it is always good to decide what should be the minimum
number.

Eventually, interviewee has given one example of test cases that what points should
keep in mind according to the requirements of that specific application. The example
he gave was login page, he explained that what could be the possible positive and
negative test cases according to the its requirements like user should able to login
using valid username and password, should not be allowed to login with invalid
username and password, must provide forgot password link, provide sign up page,
password should pass the character limit and add captcha functionality for security
reasons. Whereas, we think some more functionalities can be added for login page
such as send verification code to email or phone number, add ‘remember password’
function, give optional choice to make ‘password visible’, set ‘time out’ to login, add
‘cancel button’ to erase text, for security password can be confirmed twice and so
on. The example was very satisfied for us and helped us to understand how the
requirements must be needed to recognize properly before writing the test cases.

Then , he explained Test Plan, according to him, to know the scope and activities of
software testing, a document is required , called test plan. He explained some guidelines-
1.) Plan should be in short form and in a clear way 2.) Don’t use lengthy paragraphs.
3.) Review the test plan and update it.

According to lecture slides the task of test plan are 1.) Mention the quality goals 2.)
to know the testing activities 3.) to know how these helps to achieve the aim.

At last, he talked about Test Effort Estimation which is important for any project to
make it successful. Some of the most important techniques discussed by
interviewee for test estimation are-
1) Test Point estimation is a simple technique which is used in software testing
spectrum and easily understandable technique .

2) Work-phase based estimation is a technique which is used where we need to


make a guess estimation in any phase, then team adds other phases.

3) Use-Case Point estimation technique is used to determine the software testing


estimation with the help of unadjusted actor and unadjusted use case weights.

According to lecture slides there are several other estimation techniques except
above written: 1.) Work Breakdown Structure 2.) 3-Point Software Testing Estimation
Technique 3.) Wideband Delphi technique 4.)Testing Point Analysis 5.)Percentage
distribution 6.) Other ad-hoc methods.

There are some prerequisites- 1.) Test the complexity of the application 2.)
requirements should available 3.) person should have some testing experience 4.) to
know about the risks 5.) techniques used for testing 6.) check the environment 7.)
should have some domain software knowledge 8.) need external application linkages
9.) to develop the application, some technologies and methods are needed.

You might also like