Thursday, March 16, 2023

Unit IV: Test Plan

 Unit IV: Test Plan


Objective of the test, Scope of the test, Approach, Resources, Roles and Responsibilities,

Entry and Exit Criteria, Schedules and mile stones, Risks, Defect Management, Deliverables,

Sign off, Case Study



The objectives of the testing are the reasons or purpose of the testing and the object of the testing is the work product to be tested.

Testing objectives can differ depending on few factors as,

  • The context of the component

  • System being tested

  • The test level

  • The software development life cycle model

Above distinctions may include, for example:

  • Example 1: One goal of component testing may be to find as many failures as possible so that the underlying defects can be identified and fixed as soon as possible. Another goal could be to increase the code coverage of the component tests.

  • Example 2: One goal of acceptance testing may be to confirm that the system works as expected and meets the requirements. Another goal of this testing could be to inform stakeholders about the risks of releasing the system at a specific time.

The facts may include in typical objectives of Testing

Prevent defects: One of the objectives of software testing is to avoid mistakes throughout the development process. The cost and labor associated with error detection are considerably reduced when faults are detected early. It also saves time. Defect prevention entails conducting a root cause analysis of previously discovered flaws and then taking specific steps to prevent the recurrence of those types of faults in the future.

Evaluate work products: The objectives are used to assess work items such as the requirement document, design, and user stories. Before the developer picks it up for development, it should be confirmed. Identifying any ambiguity or contradictory requirements at this stage saves a significant amount of development and testing time.

Verify Requirements: This objective demonstrates that one of the most important aspects of testing should be to meet the needs of the client. Testers examine the product and ensure that all of the stipulated standards are met. Developing all test cases, independent of testing technique, ensures functionality confirmation for every executed test case.

Validate test objects: Testing ensures that requirements are implemented as well as that they function as expected by users. This type of testing is known as validation. It is the process of testing a product after it has been developed. Validation can be done manually or automatically.

Build confidence: One of the most important goals of software testing is to improve software quality. A lower number of flaws is associated with high-quality software.

Reduce risk: The probability of loss is sometimes referred to as risk. The goal of software testing is to lower the likelihood of the risk occurring. Each software project is unique and has a substantial number of unknowns from several viewpoints. If we do not control these uncertainties, it will impose possible hazards not only during the development phases but also during the product’s whole life cycle. As a result, the major goal of software testing is to incorporate the risk management process as early as possible in the development phase in order to identify any risks.

Share information to stakeholders: One of the most essential goals of testing is to provide stakeholders with enough information to allow them to make educated decisions, particularly on the degree of quality of the test object. The goal of testing is to offer complete information to stakeholders regarding technological or other constraints, risk factors, confusing requirements, and so on. It can take the shape of test coverage, testing reports that cover specifics such as what is missing and what went wrong. The goal is, to be honest, and ensure that stakeholders fully grasp the challenges influencing quality.

Find failures and defects: Another critical goal of software testing is to uncover all flaws in a product. The basic goal of testing is to uncover as many flaws as possible in a software product while confirming whether or not the application meets the user’s needs. Defects should be found as early in the testing cycle as feasible.


Scope: Software Testing

1. First things first, over the last few years, the profile of the software tester has seen phenomenal growth. That is to say, testing has become pivotal for several application/product implementations. Consequently, businesses has realized the importance of arranged testing of applications before their release.

2. Secondly, the options available in the testing tools side are huge. There is a variety of functional, performance, security testing tools besides test management tools like Quality Center from HP, CQTM from IBM, etc. Moreover, the growth prospects in the Software Testing domain is immense.

3. Lastly, the demand for a niche that includes SOA testers, Security testers, etc. is high nowadays. Reason being, a vast shortage of skills in test automation areas. However, it is highly important to keep in mind the fact that specialization is a must in a testing career. In other words, one needs to be specialized in order to move ahead in the career path of testing. Saying so, the following are some of the key areas for specialization:

  • Firstly, Domain Knowledge

  • Moreover, Automation Testing Tools Knowledge

  • Additionally, Professional Certifications

  • Lastly, Niche Areas In Testing

 

Get certified and unlock more opportunities. Practice and Validate your skills to become a Certified Manual Tester Now!


Test Approach:

A test approach is the test strategy implementation of a project, defines how testing would be carried out. Test approach has two techniques:

  • Proactive - An approach in which the test design process is initiated as early as possible in order to find and fix the defects before the build is created.

  • Reactive - An approach in which the testing is not started until after design and coding are completed.

Different Test approaches:

There are many strategies that a project can adopt depending on the context and some of them are:

  • Dynamic and heuristic approaches

  • Consultative approaches

  • Model-based approach that uses statistical information about failure rates.

  • Approaches based on risk-based testing where the entire development takes place based on the risk

  • Methodical approach, which is based on failures.

  • Standard-compliant approach specified by industry-specific standards.

Factors to be considered:

  • Risks of product or risk of failure or the environment and the company.

  • Expertise and experience of the people in the proposed tools and techniques.

  • Regulatory and legal aspects, such as external and internal regulations of the development process.

  • The nature of the product and the domain.

Top 10 Resources To Learn Software Testing in 2021

  • Last Updated : 13 Apr, 2021

Read

Discuss

Practice

Video

Courses

With so much content available online it becomes quite difficult and confusing for the learner what to refer to and from where. In this article, we have curated the Top 10 Resources To Learn Software Testing in 2021. The article is not just limited to online but offline resources as well.

1. The Art of Software Testing(Book) :

This book is a holy grail for people who are yet to get accustomed to online sources for learning. The book is a great guide for all beginners in the field of software testing.

The latest 3rd edition of the book gives a brief but powerful explanation of the concepts of testing. There are various topics that cover all the aspects of testing like- the psychology of program testing, Test-case Design, Module testing, Higher-order testing, etc. This book is a classic go-to, preferred by all beginners. The approach is simple and can be comprehended by anyone.

2. Software Testing by James A. Whittaker (Book) :

The book takes an unconventional approach to make readers understand the concepts of testing. The writer- James A. Whittaker has tried to develop the insight in the tester to find bugs in the most practical and applied manner.

The book inspires the tester to go off-grid when it comes to conventional testing methods like scripting and testing and create a sense to find all the hidden bugs. The book also encourages automation testing and the use of good tools to do it. The book is in its 2nd edition.

3. ArtOfTesting (website) :

ArtOfTesting is one of the leading educational sites on software testing. You can learn everything from scratch. They are no pre-requisites to learn from here. The site offers free theory basics and training tutorials as well. The site has compiled questions asked in interviews to prepare the students completely and make them prepared to face interviewers. The site has about 200+ article that start from the concepts of manual testing, and move on to advance levels of automation tools, API, End-to-End testing, etc. The website also gives insight on how ISTQB holds tests and provides test preparation material- all for free. Visit the site at once and start your journey of learning.

4. Selenium WebDriver Training with Java Basics (Online course) :

Automation testing is big on all software tester. It makes repetitive and boring tasks easier. This course is available on Udemy. The course is available for life-time access. It comes with 150 hours of lecture videos, live projects, a certificate of completion, and 60+ downloadable resources. It is best suited for people who are looking for Java-based automation. Not just this, the students can clear their queries from industry experts. The course might be on the expensive side but with the inclusion of topics from beginner level to the professional level, the course is worth the money. The course starts from scratch therefore keep your worries aside and start learning.

5. Robot and Framework Test Automation- Level1, Level2(online course) :

Available on the biggest online courses site-udemy, this course series aims at providing the best of tutorials from beginners to advanced level. There are two different courses under the same name but different levels. While level1 targets beginners, level2 focuses on intermediate to advanced level training.

Level 1 covers basics like installation of Robot framework test automation tool, API, hands-on experience on projects, and much more. The course is for about 14 hours and provides a certificate of completion.

The Level 2 course has more advanced topics like more control on robot automation, Html and CSS, automating web applications, etc. the course is a total of 5 hours and includes a certificate as well.

Both the courses are priced at Rs. 8,640 each. But there are always some discounts going on the site, which you can avail and get the courses from much lesser price.

6. Software Testing Help (Youtube Channel) :

This is one of the most popular sites and YouTube channels among the software community. The channel is purely dedicated to software testing-based tutorials. Established in April 2007, it is one of the oldest channels in the education business. There are also blogs and training websites under the same name. Some of the videos include Selenium tutorials, LoadRunner tutorials, Software testing tutorials, etc. all the content is available for free and thus youtube videos are the most sought-after sources for learning.Here is the channel link.

7. Testbytes :

The site is managed by a software testing company and is one of the most preferred sites for software testing. As the site is managed by QA professionals and business management professionals, the site is always up to date and never misses out latest updates and technology. Their blog is full of content related to software testing that can help testers who have just begun in this field. It is a community of testers that interact with each other and make learning easier and more fun.

8. Agile testing: A practical guide for testers and agile teams (Book) :

It now the era of Agile testing. Agile testing is based on different agile methodologies and is being adopted by many companies. The Agile testing makes sure the involvement of testers, developers, business managers, and clients.

The book written by Lisa Crispin aims at teaching students how there is no one rigid approach when it comes to testing. It gives a deep knowledge of agile testing, its methods, and how to engage more and more people in agile testing. The book is pricey but worth it.

9. GC Reddy Software Testing (Youtube Channel) :

This YouTube channel was formed in November 2010 and has been the most go-to channel for people who want to learn software testing. The channel has over 1000 videos dedicated just to testing. These videos include step-by-step software testing tutorials, Selenium tutorials, UFT/QTP tutorials, and a lot more. The channel has currently 71.6K subscribers. Do give a try to this source and make it reach the software testing community. This will give a boost to the channel and will help people who cannot afford expensive online courses but have the zeal to learn.

10. Software Testing Material – (Youtube Channel) :

This YouTube channel has only 83 yet very effective videos. The content of the videos has content covering topics like Manual Testing, Automation Testing, SQL Server, QTP, etc. The channel is managed by Joe Colantonio, a software test automation engineer himself. He posts only 1 video per week however, each video garners about 100k+ views. The channel is fairly new as compared to other channels but with 123k subscribers as of now, this channel is going quite strong.Here is channel link



Software Testing Roles and Responsibilities

In case of software testing every company defines its own level of hierarchy, roles and responsibilities but on a broader level, if you take a look you will always find the following two levels in a software testing team:


Test lead/manager: A test lead is responsible for:

  • Defining the testing activities for subordinates – testers or test engineers.

  • All responsibilities of test planning.

  • To check if the team has all the necessary resources to execute the testing activities.

  • To check if testing is going hand in hand with the software development in all phases.

  • Prepare the status report of testing activities.

  • Required Interactions with customers.

  • Updating project manager regularly about the progress of testing activities.

Test engineers/QA testers/QC testers are responsible for:

  • To read all the documents and understand what needs to be tested.

  • Based on the information procured in the above step decide how it is to be tested.

  • Inform the test lead about what all resources will be required for software testing.

  • Develop test cases and prioritize testing activities.

  • Execute all the test case and report defects, define severity and priority for each defect.

  • Carry out regression testing every time when changes are made to the code to fix defects.

Overview Of Software Engineering Team

How a software application shapes up during the development process entirely depends on the how the software engineering team organizes work and implements various methodologies. For an application to develop properly, it is important that all processes incorporated during the software development are stable and sustainable. Many times developers come under pressure as the delivery date approaches closer this often affects the quality of the software. Rushing through the processes to finish the project on time will only produce a software application which has no or minimal use for the customers. Hence, work organization and planning is important and sticking to the plan is very important. The project manager should ensure that there are no obstacles in the development process and if at all there is an issue it must be resolved with immediate attention.

Overview Of Software Testing Team

How soon and how well you can achieve your testing goals depends solely on the capabilities of the testing team. Within the testing team itself it is important to have the correct blend of testers who can efficiently work together to achieve the common testing goals. While forming a team for testing, it is important to ensure that the members of the team jointly have a combination of all the relevant domain knowledge that is required to test the software under development.

It is very important to ensure that the software testing team has a proper structure. The hierarchy and roles should be clearly defined and responsibilities too should be well defined and properly distributed amongst the team members. When the team is well organized the work can be handled well. If every team member knows what duties he or she has to perform then they will be able to finish their duties as required well within the time limit. It is important to keep track of the testers’ performance. It is very important to check what kind of defects the tester is able to uncover and what kind of detects he tends to miss. This will give you a fair idea about how serious your team is about the work.

All the team members should work together to prepare a document that clearly defines the roles and responsibilities of all the team members. Once the document is prepared the role of each member should be communicated clearly to everyone. Once the team members are clear about who is going to handle which area of the project, then in case of any issue it will be easy to determine who needs to be contacted.

Each member of the team should be provided with the necessary documents that provide information on how the task would be organized, what approach will be followed, how things are scheduled, how many hours have been allocated to each member and all details related to applicable standards and quality processes.

Software Tester Role

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.

  2. Carry out testing as per the defined procedures.

  3. Participate in walkthroughs of testing procedures.

  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.

What is Software Testing Life Cycle (STLC)?

Software Testing Life Cycle (STLC) is a sequence of specific activities conducted during the testing process to ensure software quality goals are met. STLC involves both verification and validation activities. Contrary to popular belief, Software Testing is not just a single/isolate activity, i.e. testing. It consists of a series of activities carried out methodologically to help certify your software product. STLC stands for Software Testing Life Cycle.

 

In this tutorial, you will learn:










STLC Phases

There are following six major phases in every Software Testing Life Cycle Model (STLC Model):

STLC Model

STLC Model Phases

  1. Requirement Analysis

  2. Test Planning

  3. Test case development

  4. Test Environment setup

  5. Test Execution

  6. Test Cycle closure

Each of these stages has a definite Entry and Exit criteria, Activities & Deliverables associated with it.

What is Entry and Exit Criteria in STLC?

  • Entry Criteria: Entry Criteria gives the prerequisite items that must be completed before testing can begin.

  • Exit Criteria: Exit Criteria defines the items that must be completed before testing can be concluded

You have Entry and Exit Criteria for all levels in the Software Testing Life Cycle (STLC)

In an Ideal world, you will not enter the next stage until the exit criteria for the previous stage is met. But practically this is not always possible. So for this tutorial, we will focus on activities and deliverables for the different stages in STLC life cycle. Let’s look into them in detail.

Video on STLC

Requirement Phase Testing

Requirement Phase Testing also known as Requirement Analysis in which test team studies the requirements from a testing point of view to identify testable requirements and the QA team may interact with various stakeholders to understand requirements in detail. Requirements could be either functional or non-functional. Automation feasibility for the testing project is also done in this stage.

Activities in Requirement Phase Testing

  • Identify types of tests to be performed.

  • Gather details about testing priorities and focus.

  • Prepare Requirement Traceability Matrix (RTM).

  • Identify test environment details where testing is supposed to be carried out.

  • Automation feasibility analysis (if required).

Deliverables of Requirement Phase Testing

  • RTM

  • Automation feasibility report. (if applicable)

Test Planning in STLC

Test Planning in STLC is a phase in which a Senior QA manager determines the test plan strategy along with efforts and cost estimates for the project. Moreover, the resources, test environment, test limitations and the testing schedule are also determined. The Test Plan gets prepared and finalized in the same phase.

Test Planning Activities

  • Preparation of test plan/strategy document for various types of testing

  • Test tool selection

  • Test effort estimation

  • Resource planning and determining roles and responsibilities.

  • Training requirement

Deliverables of Test Planning

Test Case Development Phase

The Test Case Development Phase involves the creation, verification and rework of test cases & test scripts after the test plan is ready. Initially, the Test data is identified then created and reviewed and then reworked based on the preconditions. Then the QA team starts the development process of test cases for individual units.

Test Case Development Activities

  • Create test cases, automation scripts (if applicable)

  • Review and baseline test cases and scripts

  • Create test data (If Test Environment is available)

Deliverables of Test Case Development

  • Test cases/scripts

  • Test data

Test Environment Setup

Test Environment Setup decides the software and hardware conditions under which a work product is tested. It is one of the critical aspects of the testing process and can be done in parallel with the Test Case Development Phase. Test team may not be involved in this activity if the development team provides the test environment. The test team is required to do a readiness check (smoke testing) of the given environment.

Test Environment Setup Activities

  • Understand the required architecture, environment set-up and prepare hardware and software requirement list for the Test Environment.

  • Setup test Environment and test data

  • Perform smoke test on the build

Deliverables of Test Environment Setup

  • Environment ready with test data set up

  • Smoke Test Results.

Test Execution Phase

Test Execution Phase is carried out by the testers in which testing of the software build is done based on test plans and test cases prepared. The process consists of test script execution, test script maintenance and bug reporting. If bugs are reported then it is reverted back to development team for correction and retesting will be performed.

Test Execution Activities

  • Execute tests as per plan

  • Document test results, and log defects for failed cases

  • Map defects to test cases in RTM

  • Retest the Defect fixes

  • Track the defects to closure

Deliverables of Test Execution

  • Completed RTM with the execution status

  • Test cases updated with results

  • Defect reports



2.8. Proposed Schedule of Milestones

Most of my test plans contain a schedule for the test project's major milestones. You can extra ct these from the work-breakdown-structure, which I discussed in Chapter 1. I focus on the high-level milestones and deliverables that are visible to management. Table 2.3 provides an example of such a schedule.

MILESTONE

DATE

Test Development and Configuration

 

Test plan complete

8/9/2004

Test lab defined

8/12/2004

FMEA complete

8/16/2004

Test lab configured

8/26/2004

Test suite complete

9/5/2004

Test Execution

 

System test entry

9/2/2004

Cycle 1 Complete

9/16/2004

Cycle 2 Complete

10/3/2004

Cycle 3 Complete

10/13/2004

System test exit

10/13/2004



What is risk in software testing?


In software testing Risks are the possible problems that might endanger the objectives of the project stakeholders. It is the possibility of a negative or undesirable outcome. A risk is something that has not happened yet and it may never happen; it is a potential problem.

In the future, a risk has some probability between 0% and 100%; it is a possibility, not a certainty.

The chance of a risk becoming an outcome is dependent on the level of risk associated with its possible negative consequences.

For example, most people are expected to catch a cold in the course of their lives, usually more than once. But the healthy individual suffers no serious consequences. Therefore, the overall level of risk associated with colds is low for this person. In other hand the risk of a cold for an elderly person with breathing difficulties would be high. So, in his case the overall level of risk associated with cold is high.

We can classify risks into following categories:

  1. Product risk (factors relating to what is produced by the work, i.e. the thing we are testing).

  2. Project risk (factors relating to the way the work is carried out, i.e. the test project)



What Are Test Deliverables In Software Testing?

Last Updated:December 5, 2022

Learn All About Test Deliverables In Software Testing With Examples:

A sigh of relief comes for every tester when the assignment bestowed is completed successfully. At the end of every testing, the tester must send the appropriate test deliverables to the client.

In this article, we will take a look at some of the important test deliverables in detail.

Test deliverables, in general, are used throughout a project. They are used in all phases of testing and they always have to be sent on time to proceed with further processing.

Test Deliverables In Software Testing

Test Deliverables play an important role in Software Testing. This article discusses all Test Deliverables in detail.

Some of the important test deliverables are enlisted below for your reference:

  • Test strategy

  • Test plan and estimation

  • Test scenario

  • Test cases and test data

  • RTM

  • Test summary report

  • Test closure report

  • Incident report

Test Strategy

Test strategy will be decided based on the Business requirement specification. It is a vital document that contains all the details of the testing work to be carried on. It is a complete management document.

When compared to the test plan, this is a high-level document and is usually prepared by the Test manager or lead. Test objective, test approach, test scope, entry & exit criteria, types & levels of testing, milestones, staffing, etc must be mentioned here.

Test Plan and Estimation

The granular level details for each step of testing should be mentioned here. In general, a proper plan leads to a proper work structure. Similarly, a good plan leads to good testing.

The Test objective, test approach, test scope, entry & exit criteria, types & levels of testing, milestones, staffing, etc should be mentioned here in a detailed manner.

The master plan which includes how testing is to be carried is used for simple projects.

Estimation: Estimation is defining how long each step will occur in testing along with the overall cost.

#1) Use Case

It is the goal-oriented method which is a set of interactions between the external factors and the system. Its components include primary flow, alternate flow, triggers or activities, exception flows, pre-conditions, post-conditions, etc.

Example:

Use Case Example

What Is QA Sign Off Document In Software Testing?

In a simple definition, it’s a formal way of informing the team that the testing is finally done and dusted. You’ll address the team and stakeholders stating that you have positively conducted all the necessary testing actions required to secure the application. At the end waving a green flag for the project/release to go live. In other words, it’s the Test team’s great stamp of approval. Now, this test sign off document can be sent to your particular set of individuals via mail or your preferred channel of communication.

Why A QA Sign Off Document Is Needed?

Realistically speaking, you need it because you worked for the project bearing all its ups and downs with a high-end team and that effort should be communicated. It’s an appreciable way to end things by comprehensively reporting the parts and results of the testing done with your team and especially the stakeholders.

Who Is Responsible For Creating A Sign Off Document?

Preferably anyone from the QA Team can work on it or a Test lead can be directly involved to complete the sign off document. Then the team works jointly with the product manager or head to agree on the QA sign off document.

QA Sign Off Checklist Is Here…

Notably, there isn’t a particular way to make a test sign off document. The best approach is to make a template that works for you and your team. How do you find what works for you? Simple, if the sign off a document that you sent comes back with a ton ofquestions then probably it’s not working for you. That’s a sign it’s time for changes. In that case, try including more test insights. Once you get positive feedback after making changes then that’s your template that you need to save it for later.

QA Sign Off Template

We have mentioned a few things you should definitely consider including in your Software Testing sign off document. Refer to the below list.

Name of the Project

  • E.g: ‘E-commerce Website Launch’

Project Number

  • E.g: ‘xxxx’

Date of starting the project

  • E.g: September 10th, 2021

Date of ending the project

  • E.g: October 10th, 2021

Name the Technical Lead

  • Concerned person’s Name

Name of the Product Manager/Owner

  • Concerned person’s Name

Name of the Primary Tester

  • Concerned person’s name

List of Developers

  • All the developer’s names who were involved in this project

What are the Tests performed

  • E.g:

Integration testing

Security testing

Cross-browner testing

Acceptance testing

Different Browsers Tested

  • E.g: Crome etc.

Different Devices Tested

  • E.g:

Production

Staging

Development

UAT

Test Cases

  • A link to a full list of all test cases involved in this project.

Test Coverage

  • Give a link to a report showing test coverage.

New Features

  • A list of features tested in this project

Any Critical issues observed

  • Spotlight the critical issues you want people to know about.

All issues

  • Give a link to your issue tracking tool that shows all known issues in this project.

Final comments

  • Can be a 2 or 3 liner or a paragraph of your final verdict on the project summarizing the test team point of view about the project that’s been tested

3. Research Methodology This section presents the research objectives and research questions of this work. Also provides a description of the methods used to perform this study and various factors influencing this research study. 3.1 Research Objectives The following are the aims of this thesis: 1) Mapping test methods and tools used in different departments within VTEC. 2) Identifying the possibilities of improvement in the test practices used within VTEC. 3) Performing a pre-study on the forthcoming automobile industry standard ISO 26262. 4) Enabling knowledge transfer of the test practices used within different departments of VTEC, and also providing suggestions for achieving best results by synergism in terms of testing among various departments of VTEC. 3.2 Research Questions By addressing the following research questions this thesis aims to achieve the research objectives mentioned above (section 3.1): 1. What are the different methods and practices being employed for software testing in automotive industries? And what is the co-relation of these methods and practices with the nature of the projects? 2. What software testing activities are performed with help of software testing tools in automotive domain, in particular at VTEC? 3. What are the software testing requirements mentioned in ISO 26262 that are applicable for software projects in VTEC and similar automotive industries? 3.3 Research Method This thesis addresses the above mentioned research objectives and questions by performing an interpretive case study on similar lines of the method described by Walsham (1995). Qualitative methods are selected to conduct this study, because they provide much richer data for analysis and concept formation. As a matter of fact, the sample size for this case study is small and therefore any generalization of the results obtained from research based on only quantitative methods and tightly controlled deductive approach might lead to validity threats.  


4.1 Case study setup description The 14 interviewees belonged to 2 different departments and 6 different groups in VTEC, and each group was specialized in a certain domain area. A total of 8 different projects were identified, 5(8) 1 (62.5 %) of these projects were regular product development projects with customers in private sector, and the other 3(8) (37.5 %) projects were research projects funded by government and non-commercial organizations. 4(8) (50%) of these projects were based on embedded software domain, 3(8) (37.5%) were regular software projects, and 1(8) project was based on both embedded and regular PC software domain. Team sizes: 4(8) projects had team sizes of around 5 members, and 2(8) projects with team size of around 2 members, 1(8) projects with team size of 15 members and another project with 40-45 members in team. It was mainly the research projects that had relatively small team size. None of the 8 projects involved development of products with high safety criticality on automobiles. 4 project-teams were involved in development of features with very low safety criticality, and the remaining 4 projects did not involve development of any safety critical features


No comments:

Post a Comment