Challenge

Project 1 - V&V SW Analysis - I

1)TEST PLAN DEFINITION:

It is detailed documentation that provides information about all the necessary and activities that will be a part of SW/HW testing.

Test plans are necessary documentation used in both black box testing and white box testing.

It has a various attributes detailing the test objective, Scope of testing, Roles and Responsibilities, schedule of tests, Assumptions Risks, Mitigation/Contingency Plans, In-scope features, Out-of-scope Features, Test Methodology, Test Approach, Entry criteria, Exit criteria, defect tracking, Test environments, Test Automation, Effort Estimation, and Test Deliverables.

2)TEST CASE ATTRIBUTES:

TEST CASE:

definition:

It is a systematic procedure of executing a set of instructions to validate a particular SW requirement either at the unit level,components level, module level,system-level, or customer acceptance level.

A systematic procedure of designing a test case takes into account various dependencies, ranging from the test case ID, test steps, identifying the test setup, pre-condition, test procedure, expected results, actual results, pass/ fails etc.

In a real-world scenario, we will deal with more attributes to execute a test case at various levels of SW Testing.

TestCase ID:

This is an ID that denotes the linkage between the test case and SW requirements.

An ID is generated automatically and is unique.

Verification Methoed:

This attributes specifies the verification method of the requirement.

This can be system test, Integration test, system Integration test (mechanics/Hardware & Hardware/software), System-system integration, SW Test, SW integration test, SW Module test, etc.

It can be mandatory/optional depending on the decision of the team.

Testing status:

This attributes is used to show the coverage status of the requirement.

This attributes can have the following values- Not Applicable, Not covered, Partially covered and Fully covered.

This attributes can be mandatory/ optional depending on the team to decide.

Responsible Team:

It defines which development team is responsible for the SW test.

it can be mandatory/optional depending on the decision of the team.

Maturity:

This attributes indicates the status of the requirement.

It indicates whether the requirement is ready for review, in creation phase, reviewed and accepted by all relevant disciplines,accepted by stakeholders and invalid.

It can be mandatory/optional depending on the decision of the team.

Module Name:

It is used to name the module to which the requirement belong to .

This attribute can have the names of the modules used in the implementation of the project.

It can be mandatory /optional depending on the decision of the team.

Pre-condition:

This attributes defines the pre-condition for the SW test to execute

This attributes is recommended to be mandatory.

Test Procedure:

This attributes indicates the procedure in which the test shall execute.

Eg: Test inputs, actions and sequential steps to be performed while executing the tests.

This attributes is recommended to be mandatory.

Expected Result:

This attributes is used to anticipate the expected result from the test we execute using the test procedure.

This attributes is recommended to be mandatory.

Actual Result:

This attributes is used to identify the actual result from the test we execute using the test procedure.

This attributes is recommended to be mandatory.

Test Method:

Test methods is used to create the test case and check whether the test methods are used adequately.

It can be of the following values, ranging from equivalence classes, boundary values, state-based chart/state transition chart, elementary comparison test, control flow test, error guessing etc.

This attributes is recommended to be mandatory.

Test Responsibe:

This attributes indicates the person(s) responsible for the test

It is recommended to be mandatory

Test Designer:

This attributes indicates the name of the responsible test engineer who has designed the test for the test.

It is recommended to be mandatory.

Manual Automation:

This attribute determines whether the test case can be automated or not

It has the following values: Manual and to automate.

This attribute is recommended to be mandatory.

SIL(safety integrity level);

Based on the highest SIL level of the linked requirement to which the test case belongs, this attributes is considered for Risk-based Test strategy.

It can list various SIL levels according to the industry.

This attributes is recommended to be mandatory.

Priority:

This attributes indicates the priority of the test case execution within one release cycle.

This attributes is recommended to be mandatory

It can range from Low,Medium,High etc.

Release:

This attribute is used to define from which release onwards the test case is applicable.

It is recommended to be mandatory.

Valid Until Release:

This attribute determines the validity of test case we are writing.

It basically determines until which release is the test case valid.

Customer-Demo:

The test cases which should be a part of the customer-demo are defined under this attribute.

This attribute is recommended to be mandatory.

HW Variant:

This attribute is used to defined for which variants this test case is applicable ( based on requirement definition).

This is a multi-select field.

This attributes is recommended to be mandatory.

Reuse:

Identify the Test cases which are reused (or partially reused) from other projects.

These test cases can be used on a "high" level testing, e.g., when requirement are not yet available.

This attribute is recommended to be mandatory.

Test suite:

This attributes defines which test suite the test case has to be executed belongs to.

The definition of the test suite is done in the test strategy/test plan.

This attributes is recommended to be mandatory and can have the values like Regression,Integration,etc.

3)TEST DESIGN TECHNIQUES:

ways in which we design the tests based on the understanding of requirements.

Different Test Design Techniques

Equivalence classes and Boundary checks

Classification tree method(CTM)

Elementary camparison Test (ECT)

Control flow Test (CFT)

State Transition Techniques(STT)

Error Guessing(EG)

Testing Types:

Equivalence classes and Boundary checks: The boundaries are the values on and around the beginning and end of a partition. If possible, test cases should be created to generate input or outputs that will fall on and to either side of each boundary.

This would result in three cases per boundary.

Boundary value analysis is testing at the boundaries between partitions. Equivalent Class Partitioning allows you to divide set of test condition into a partition which should be considered the same.

Classification tree method(CTM):

It consist of the following steps:

1.Identify aspects of the test object

2.portioning input domain according to aspects

3.Specifying logical test cases

4.Constructing physical test cases

5.defining test actions

6.defining checkpoints

7.Determining the start situation

8.Establishing the test script

Elementary camparison Test (ECT):

Elementary comparison testing (ECT) is a formal white-box, control-flow, test-design method. Its purpose is to implement the detailed testing of complex and important software. Software pseudocode or code is tested to assess the proper handling of all decision outcomes.

Control flow Test (CFT)

Control flow testing is a type of software testing that uses program’s control flow as a model. Control flow testing is a structural testing strategy. This testing technique comes under white box testing. For the type of control flow testing, all the structure, design, code and implementation of the software should be known to the testing team.

This type of testing method is often used by developers to test their own code and own implementation as the design, code and the implementation is better known to the developers. This testing method is implemented with the intention to test the logic of the code so that the user requirements can be fulfilled. Its main application is to relate the small programs and segments of the larger programs.

Control Flow Testing Process:
Following are the steps involved into the process of control flow testing:





  • Control Flow Graph Creation:
    From the given source code a control flow graph is created either manually or by using the software.
  • Coverage Target:
    A coverage target is defined over the control flow graph that includes nodes, edges, paths, branches etc.
  • Test Case Creation:
    Test cases are created using control flow graphs to cover the defined coverage target.
  • Test Case Execution:
    After the creation of test cases over coverage target, further test cases are executed.
  • Analysis:
    Analyze the result and find out whether the program is error free or has some defects.

State Transition Techniques(STT):

All test paths in State-transition-tree

one test path is a sequence of test steps

Every test step needs:

Event (test stimulus)

Guard(precondition for test stimulus)

Action( system reaction)

State( resulting state)

Error Guessing:

Characteristics: Black-box ,Non -formal test design technique

procedure: Nominate experienced test engineers (domain and methodology)

Specific documentation evaluation

what Error should, I guess?

Determine all the failure test cases for a given scenario

failure test cases for a given scenario..experienced test engineers

4)Testing:

Black-Box Testing: A method of testing that tests the functionality of the system without looking into the internal implementation/ structures of the system.

E.g. Testing the lock and unlock features of your mobile.

White-Box Testing:A method of testing that may/may not test the functionality of the system by looking deep into the internal implementation/structures(design,coding etc) of the system.

Eg: Testing any embedded prototype you designed by debugging into the software.

Unit Testing is an example of white-box testing without actually concerning about the functionality of code.

Regression Testing: A method of testing that tests all the functional and non-functional codes of an embedded software after we perform a change/modify any requirement.

Write a Test plan to test features of a new mobile phone (Blackbox test) that needs to be implemented based on the following requirements. (The product is still under development stage and is yet to be UA (User Acceptance ) tested .Every other thing to be included in the test plan can be hypothetical.

if(owner long press the power button)

{

printf("open the company logo at centre");

}

else if(customer press the power button)

{

printf(" open the apps in grid");

}

else if(owner power on the phone)

{

printf("shows call the phone icon on first position at bottom");

}

else if(owner power on the phone)

{

printf("shows Dictionary icon on second position at bottom");

}

else if( owner click on call the phone icon)

{

printf("contacts appears in chronological order");

}

else if(owner click on Dictionary icon)

{

printf(" search bar appears at centre");

}

else if(owner long press power on button)

{

printf("displays Good-Bye and gets switched off");

}

else if(owners phone font)

{

printf("always in calibri with size of 12");

}

else if(customer requirement touch responsive)

{

printf("reflects on touch");

}

else ( customer requirement no hard buttons)

{

printf("touch screen sensitive");

}

Your portfolio, next

Ship work like this
in your own course.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.