RSS Feed

Monthly Archives: June 2015

ISTQB Foundation Exam Preparation-K Level wise-Q 31 to 40

ISTQB Foundation Exam Preparation–K Level wise: Q. 31 to 40
The following questions prepared according to different K-Levels are of great help in reviewing your skills before appearing in ISTQB Foundation Level exam as per the Latest Syllabus updated in 2010.
Set of 10 Questions (Q. 31 to 40) with Explanation in Favor of the Correct Answer
The Correct Answer has been Hi-lighted in Bold.
K1- Q. 31: A test management tool is most likely to integrate with which of the following tools?
A. Performance testing tool
B. Test data preparation tool
C. Static analysis tool
D. Requirements management tool
Explanation in favor of the correct answer
Requirements management tools (option (D)) often have interfaces with test management tools. In some cases they will be sold as a package or in other cases a test management tool may have its own requirements module. The use of such interfaces or integrated packages aids traceability from requirements through to test scripts and defects.
Performance management tools (option (A)), test data preparation tools (option (B)) and static analysis tools (option (C)) are unlikely to have an interface or be integrated with a test management tool. They serve different purposes and therefore there is little need for such interfaces.
<<<<<< =================== >>>>>>
K2 Level Questions
K2- Q. 32: Which of the following are aids to good communication, and which hinder it?
i. Try to understand how the other person feels.
ii. Communicate personal feelings, concentrating upon individuals.
iii. Confirm the other person has understood what you have said and vice versa.
iv. Emphasise the common goal of better quality.
v. Each discussion is a battle to be won.
A. (i), (ii) and (iii) aid, (iv) and (v) hinder.
B. (iii), (iv) and (v) aid, (i) and (ii) hinder.
C. (i), (iii) and (iv) aid, (ii) and (v) hinder.
D. (ii), (iii) and (iv) aid, (i) and (v) hinder.
<<<<<< =================== >>>>>>
K2- Q. 33: Which pair of definitions is correct?
A. Regression testing is checking that the reported defect has been fixed; retesting is testing that there are no additional problems in previously tested software.
B. Regression testing is checking there are no additional problems in previously tested software; retesting enables developers to isolate the problem.
C. Regression testing involves running all tests that have been run before; retesting runs new tests.
D. Regression testing is checking that there are no additional problems in previously tested software, retesting is demonstrating that the reported defect has been fixed.
Explanation in favor of the correct answer
Regression testing is testing that nothing has regressed. Retesting (or confirmation testing) confirms the fix is correct by running the same test after the fix has been made. No other option has both of these as true.
<<<<<< =================== >>>>>>
K2- Q. 34: The following statements relate to activities that are part of the fundamental test process.
i. Evaluating the testability of requirements.
ii. Repeating testing activities after changes.
iii. Designing the test environment set-up.
iv. Developing and prioritizing test cases.
v. Verifying the environment is set up correctly.
Which statement below is TRUE?
A. (i) and (ii) are part of analysis and design, (iii), (iv) and (v) are part of test implementation and execution.
B. (i) and (iii) are part of analysis and design, (ii), (iv) and (v) are part of test implementation and execution.
C. (i) and (v) are part of analysis and design, (ii), (iii) and (iv) are part of test implementation and execution.
D. (i) and (iv) are part of analysis and design, (ii), (iii) and (v) are part of test implementation and execution.
Explanation in favor of the correct answer
All other answers contain an activity identified as analysis and design that is part of implementation and test execution.
<<<<<< =================== >>>>>>
K2- Q. 35: Which statement correctly describes the public and profession aspects of the code of ethics?
A. Public: Certified software testers shall act in the best interests of their client and employer (being consistent with the wider public interest). Profession: Certified software testers shall advance the integrity and reputation of their industry consistent with the public interest.
B. Public: Certified software testers shall advance the integrity and reputation of the profession consistent with the public interest. Profession: Certified software testers shall consider the wider public interest in their actions.
C. Public: Certified software testers shall consider the wider public interest in their actions. Profession: Certified software testers shall participate in lifelong learning regarding the practice of their profession and shall promote an ethical approach to the practice of their profession.
D. Public: Certified software testers shall consider the wider public interest in their actions. Profession: Certified software testers shall advance the integrity and reputation of their industry consistent with the public interest.
Explanation in favor of the correct answer
All the answers reflect the definition of two of the items from the code of ethics, and care must be taken in searching for the Public item because ‘public’ or ‘public interest’ are used in several of the eight items in the code. The key is that ‘public’ is the main item, rather than a subsidiary. In the order given in the options, A. reflects Client and employer and Profession while B. gives Profession and Public (the correct choices, but the wrong way round). Option C. gives Public and Self, leaving the last option D. to give Public and Profession.
<<<<<< =================== >>>>>>
K2- Q. 36: Which of the following is true about the V-model?
A. It has the same steps as the waterfall model for software development.
B. It is referred to as a cyclical model for software development.
C. It enables the production of a working version of the system as early as possible.
D. It enables test planning to start as early as possible.
<<<<<< =================== >>>>>>
K2- Q. 37: Which of the following is true of iterative development?
A. It uses fully defined specifications from the start.
B. It involves the users in the testing throughout.
C. Changes to the system do not need to be formally recorded.
D. It is not suitable for developing websites.
<<<<<< =================== >>>>>>
K2- Q. 38: A top-down development strategy affects which level of testing most?
A. Component testing
B. Integration testing
C. System testing
D. User acceptance testing
Explanation in favor of the correct answer
The development strategy will affect the component testing (option (A)), in so far as it cannot be tested unless it has been built. Options (C) and (D) require the system to have been delivered; at these points the development strategy followed is not important to the tester. Option (B) needs knowledge of the development strategy in order to determine the order in which components will be integrated and tested.
<<<<<< =================== >>>>>>
K2- Q. 39: Which of the following is a non-functional requirement?
A. The system will enable users to buy books.
B. The system will allow users to return books.
C. The system will ensure security of the customer details.
D. The system will allow up to 100 users to log in at the same time.
Explanation in favor of the correct answer
The other options are functional requirements. Note that security is regarded as a functional requirement in this syllabus.
<<<<<< =================== >>>>>>
K2- Q. 40: Which of the following statements are true?
(i) For every development activity there is a corresponding testing activity.
(ii) Each test level has the same test objectives.
(iii) The analysis and design of tests for a given test level should begin after the corresponding development activity.
(iv)Testers should be involved in reviewing documents as soon as drafts are available in the development life cycle.
A. (i) and (ii)
B. (iii) and (iv)
C. (ii) and (iii)
D. (i) and (iv)
Explanation in favor of the correct answer
Option (ii) is incorrect: each test level has a different objective.
Option (iii) is also incorrect: test analysis and design should start once the documentation has been completed.

ISTQB Foundation Exam Preparation-K Level wise-Q 21 to 30

The following questions prepared according to different K-Levels are of great help in reviewing your skills before appearing in ISTQB Foundation Level exam as per the Latest Syllabus updated in 2010.

Set of 10 Questions (Q. 21 to 30) with Explanation in Favor of the Correct Answer

The Correct Answer has been Hi-lighted in Bold.

K1- Q. 21: Which of the following is a structure-based (white-box) technique?

A. Decision table testing
B. State transition testing
C. Statement testing
D. Boundary value analysis

Explanation in favor of the correct answer

All other options are specification-based (black-box) techniques, and the main distracter is answer (A) because decision table testing could be confused with decision testing.
<<<<<< =================== >>>>>>

K1- Q. 22: What is the main purpose of use case testing?

A. To identify defects in process flows related to typical use of the system.

B. To identify defects in the connections between components.

C. To identify defects in the system related to extreme scenarios.

D. To identify defects in the system related to the use of unapproved programming practices.

Explanation in favor of the correct answer

Answer (B) relates to integration testing; answer (C) could relate to boundary value analysis or performance testing, but use cases exercise typical process flows rather than extreme examples; answer (D) relates to static analysis.

<<<<<< =================== >>>>>>

K1- Q. 23: What is the purpose of exit criteria?

A. To identify how many tests to design.
B. To identify when to start testing.
C. To identify when to stop testing.
D. To identify who will carry out the test execution.

<<<<<< =================== >>>>>>

K1- Q. 24: What can a risk-based approach to testing provide?

A. The types of test techniques to be employed.
B. The total tests needed to provide 100 per cent coverage.
C. An estimation of the total cost of testing.
D. Only that test execution is effective at reducing risk.

<<<<<< =================== >>>>>>

K1- Q. 25: When assembling a test team to work on an enhancement to an existing system, which of the following has the highest level of test independence?

A. A business analyst who wrote the original requirements for the system.

B. A permanent programmer who reviewed some of the new code, but has not written any of it.

C. A permanent tester who found most defects in the original system.

D. A contract tester who has never worked for the organization before.

Explanation in favor of the correct answer

In this scenario, the contract tester who has never worked for the organization before has the highest level of test independence. The three others are less independent as they are likely to make assumptions based on their previous knowledge of the requirements, code and general functionality of the original system.

Note that independence does not necessarily equate to most useful. In practice most test or project managers would recruit a permanent tester who has worked on the original system in preference to a contract tester with no knowledge of the system. However, when assembling a team it would be useful to have staff with varying levels of test independence and system knowledge.

<<<<<< =================== >>>>>>

K1- Q. 26: Which of the following terms is used to describe the management of software components comprising an integrated system?

A. Configuration management
B. Incident management
C. Test monitoring
D. Risk management

Explanation in favor of the correct answer

Incident management is the collection and processing of incidents raised when errors and defects are discovered. Test monitoring identifies the status of the testing activity on a continuous basis. Risk management identifies, analyses and mitigates risks to the project and the product. Configuration management is concerned with the management of changes to software components and their associated documentation and testware.

<<<<<< =================== >>>>>>

K1- Q. 27: A new system is about to be developed. Which of the following functions has the highest level of risk?

A. Likelihood of failure = 20%; impact value = £100,000

B. Likelihood of failure = 10%; impact value = £150,000

C. Likelihood of failure = 1%; impact value = £500,000

D. Likelihood of failure = 2%; impact value = £200,000

Explanation in favor of the correct answer

In (B) the product of probability × impact has the value £15,000; in (C) the value is £5,000 and in (D) it is £4,000. The value of £20,000 in (A) is therefore the highest.

<<<<<< =================== >>>>>>

K1- Q. 28: Which of the following statements about risks is most accurate?

A. Project risks rarely affect product risk.

B. Product risks rarely affect project risk.

C. A risk-based approach is more likely to be used to mitigate product rather than project risks.

D. A risk-based approach is more likely to be used to mitigate project rather than product risks.

Explanation in favor of the correct answer

In general, project risk and product risk can be hard to differentiate. Anything that impacts on the quality of the delivered system is likely to lead to delays or increased costs as the problem is tackled. Anything causing delays to the project is likely to threaten the delivered system’s quality. The risk-based approach is an approach to managing product risk through testing, so it impacts most directly on product risk.

<<<<<< =================== >>>>>>

K1- Q. 29: For which of the following activities in the fundamental test process would an incident management tool be most useful?

A. Test planning and control
B. Test analysis and design
C. Test implementation and execution
D. Evaluating exit criteria and reporting

Explanation in favor of the correct answer

Incident management tools are most useful during test implementation and execution as this is the stage at which the tool is used to raise, manage, retest and close incidents.

The data collected during the defect life cycle can then be manipulated into information that is useful for other activities within the fundamental test process.

Information on numbers of defects outstanding may be useful for evaluating exit criteria (option (D)). This information could also be used for planning future testing and for taking control (option (A)).

Incident management tools can also assist in test analysis and design (option (B)) as information about defects found when testing the previous release of the system could be used when analyzing the type of testing required for the next enhancement.

<<<<<< =================== >>>>>>

K1- Q. 30: Which of the following defects is most likely to be found by a test harness?

A. Variance from programming standards.
B. A defect in middleware.
C. Memory leaks.
D. Regression defects.

Explanation in favor of the correct answer

Variance from programming standards defects (option (A)) are found during the review or static testing process. Therefore a test harness is unlikely to find a defect in programming standards.

Memory leak defects (option (C)) could potentially be found by a test harness designed to run many test cases.

Regression defects (option (D)) could be found using many types of test tool.

Defects in middleware (option (B)) are generally more likely to be found by a test harness or a dynamic analysis tool than by any other type of tool.

ISTQB Foundation Exam Preparation-K Level wise-Q 11 to 20

The following questions prepared according to different K-Levels are of great help in reviewing your skills before appearing in ISTQB Foundation Level exam as per the Latest Syllabus updated in 2010.

Set of 10 Questions (Q. 11 to 20) with Explanation in Favor of the Correct Answer

The Correct Answer has been Hi-lighted in Bold.

K1- Q. 11: Which of the following is usually the test basis for integration testing?

A. Program specification
B. Functional specification
C. Technical specification
D. Requirement specification

Explanation in favor of the correct answer

Option (A) is used for unit testing.

Option (B) is used for system testing and

Option (D)

is used for acceptance testing.

<<<<<< =================== >>>>>>

K1- Q. 12: Which of the following are examples of iterative development models?

(i) V-model

(ii) Rapid Application Development model

(iii) Waterfall model

(iv) Agile development model

A. (i) and (ii)
B. (ii) and (iii)
C. (ii) and (iv)
D. (iii) and (iv)

Explanation in favor of the correct answer

The other two models are sequential models.

<<<<<< =================== >>>>>>

K1- Q. 13: Which of the following is not true of regression testing?

A. It can be carried out at each stage of the life cycle.

B. It serves to demonstrate that the changed software works as intended.

C. It serves to demonstrate that software has not been unintentionally changed.

D. It is often automated.

Explanation in favor of the correct answer

This is a definition of confirmation testing. The other three options are true of regression testing.

<<<<<< =================== >>>>>>

K1- Q. 14: One of the roles in a review is that of moderator, which of the following best describes this role?

A. Plans the review, runs the review meeting and ensures that follow-up activities are completed.

B. Allocates time in the plan, decides which reviews will take place and that the benefits are delivered.

C. Writes the document to be reviewed, agrees that the document can be reviewed, and updates the document with any changes.

D. Documents all issues raised in the review meeting, records problems and open points.

<<<<<< =================== >>>>>>

K1- Q. 15: What do static analysis tools analyze?

A. Design
B. Test cases
C. Requirements
D. Program code

<<<<<< =================== >>>>>>

K1- Q. 16: Which of the following is most likely to be a benefit of using static techniques?

A. Fewer performance defects.
B. Productivity improvements in the development process.
C. More efficient regression testing.
D. Quick return on investment in static analysis tools.

Explanation in favor of the correct answer

Although the other options might be seen as benefits they are not amongst the most likely benefits. Option (B) is the benefit that is most likely to be realized.

<<<<<< =================== >>>>>>

K1- Q. 17: Which of the following are static techniques?

A. Walkthrough.
B. State transition testing.
C. Decision table testing.
D. Statement testing.

Explanation in favor of the correct answer

Options (B), (C) and (D) are all dynamic test techniques.

<<<<<< =================== >>>>>>

K1- Q. 18: Which one of the following roles is typically used in a review?

A. Champion.
B. Author.
C. Project sponsor.
D. Custodian.

Explanation in favor of the correct answer

The Author is the only role that is typically used in a review.

A Champion might sponsor the review process but is not a defined role within an actual review; a Project Sponsor, if technically competent, might be asked to play a defined role within the review process, but whilst using that role they will not be a Project Sponsor; finally, a Custodian might ensure the results are stored safely but would not be involved in the actual review itself.

<<<<<< =================== >>>>>>

K1- Q. 19: Which of the following defines the expected result of a test?

A. Test case
B. Test procedure
C. Test execution schedule
D. Test condition

<<<<<< =================== >>>>>>

K1- Q. 20: Which of the following describes structure-based (white-box) test case design techniques?

A. Test cases are derived systematically from models of the system.

B. Test cases are derived systematically from the tester’s experience.

C. Test cases are derived systematically from the delivered code.

D. Test cases are derived from the developers’ experience.

Explanation in favor of the correct answer

Answer (A) relates to specification-based testing, answer (B) relates to experience-based testing and answer (D) could relate either to debugging or to experience-based techniques.

ISTQB Foundation Exam Preparation-K Level wise-Q 1 to 10

Posted on

The following questions prepared according to different K-Levels are of great help in reviewing your skills before appearing in ISTQB Foundation Level exam as per the Latest Syllabus updated in 2010.

Set of 10 Questions (Q. 1 to 10) with Explanation in Favor of the Correct Answer

The Correct Answer has been Hi-lighted in Bold

K1- Q. 1: Which option is part of the ‘implementation and execution’ area of the fundamental test process?

A. Developing the tests.
B. Comparing actual and expected results.
C. Writing a test summary.
D. Analysing lessons learnt for future releases.

Explanation in favor of the correct answer

A. is part of ‘Analysis and design’.

C. is part of ‘Evaluating exit criteria and reporting’.

D. is part of ‘Test closure activities’.

<<<<<< =================== >>>>>>

K1- Q. 2: The five parts of the fundamental test process have a broad chronological order. Which of the options gives three different parts in the correct order?

A. Implementation and execution, planning and control, analysis and design.

B. Analysis and design, evaluating exit criteria and reporting, test closure activities.

C. Evaluating exit criteria and reporting, implementation and execution, analysis and design.

D. Evaluating exit criteria and reporting, test closure activities, analysis and design.

Explanation in favor of the correct answer

All other answers have at least one stage of the fundamental test process in the wrong sequence.

<<<<<< =================== >>>>>>

K1- Q. 3: Which statement is most true?
A. Different testing is needed depending upon the application.

B. All software is tested in the same way.

C. A technique that finds defects will always find defects.

D. A technique that has found no defects is not useful.

Explanation in favor of the correct answer

This is a restatement of the testing principle ‘Testing is context dependent’.

<<<<<< =================== >>>>>>

K1- Q. 4: A bug or defect is:

A. A mistake made by a person;
B. A run-time problem experienced by a user;
C. The result of an error or mistake;
D. The result of a failure, which may lead to an error?

<<<<<< =================== >>>>>>

K1- Q. 5: The effect of testing is to:

A. Increase software quality;
B. Give an indication of the software quality;
C. Enable those responsible for software failures to be identified;
D. Show there are no problems remaining?

<<<<<< =================== >>>>>>

K1- Q. 6: What is retesting?

A. Running the same test again in the same circumstances to reproduce the problem.

B. A cursory run through a test pack to see if any new errors have been introduced.

C. Checking that the predetermined exit criteria for the test phase have been met.

D. Running a previously failed test against new software/data/documents to see if the problem is solved.

<<<<<< =================== >>>>>>

K1- Q. 7: Which of the following is correct?

Debugging is:

A. Testing/checking whether the software performs correctly.

B. Checking that a previously reported defect has been corrected.

C. Identifying the cause of a defect, repairing the code and checking the fix is correct.

D. Checking that no unintended consequences have occurred as a result of a fix.

Explanation in favor of the correct answer

A. Is a brief definition of testing.

B. Is retesting.

D. Is regression testing.

<<<<<< =================== >>>>>>

K1- Q. 8: When is testing complete?

A. When time and budget are exhausted.

B. When there is enough information for sponsors to make an informed decision about release.

C. When there are no remaining high priority defects outstanding.

D. When every data combination has been exercised successfully.

Explanation in favor of the correct answer

Sometimes time/money does signify the end of testing, but it is really complete when everything that was set out in advance has been achieved.

<<<<<< =================== >>>>>>

K1- Q. 9: Which list of levels of tester independence is in the correct order, starting with the most independent first?

A. Tests designed by the author; tests designed by another member of the development team; tests designed by someone from a different company.

B. Tests designed by someone from a different department within the company; tests designed by the author; tests designed by someone from a different company.

C. Tests designed by someone from a different company; tests designed by someone from a different department within the company; tests designed by another member of the development team.

D. Tests designed by someone from a different department within the company; tests designed by someone from a different company; tests designed by the author.

Explanation in favor of the correct answer

This option has someone nearer to the written code in each statement. All other options are not in this order.

<<<<<< =================== >>>>>>

K1- Q. 10: Which of the following is in the correct order (typically)?

A. Unit testing, system testing, acceptance testing, maintenance testing.

B. System testing, unit testing, acceptance testing, maintenance testing.

C. Acceptance testing, system testing, maintenance testing, unit testing.

D. Unit testing, maintenance testing, system testing, acceptance testing.

Model-Based Testing

Posted on

The MBT (Model-Based Testing) is a test approach associated with test engineering process based on Model Driven Engineering.

Introduction

Test phases are the last stages of system development. They are therefore strongly constrained by delivery periods. In general, they are subject to all of the delays accumulated during the overall project. Currently, test phases still correspond to 30% or even to 50% of the total cost of system development and thus represent an important point for possible improvements.

Currently, the verification & validation process having no systematic or automatic process is often underestimated and outsourced to reduce costs. All these factors affect the quality of current products.

Testing is a difficult activity. Indeed, it is not possible to test everything because the quantity of test cases to be applied seems infinite for the majority of modern systems. The difficulty of testing lies in the selection of relevant test cases for each phase of validation. It also lies in the absence of a true reflection of test optimization guided by the maintenance of the final quality while minimizing the costs.

We present hereafter a technology which is more and more used in industry to avoid bugs, to improve quality and reduce costs: Model-Based Testing.

What is Model-Based Testing?

The software industry has recently lived through a methodological revolution by integrating modeling as an engineering and development tool. The models are used in the phases of design (approach indicated by the term Model-Based Design) to allow quasi-systematic methods of generating code starting from models, with tools like Simulink® in the automotive industry and Scade® in aeronautics or the railway industry.

Model-Based Testing is a systematic method to generate test cases from models based on system requirements.

First, what is Testing?

From ISTQB – International Software Testing Qualification Board, Testing is the process consisting of all life cycle, both static and dynamic, activities concerned with planning, preparation and evaluation of software products and related work products to determine that they satisfy specified requirements, to demonstrate that they are fit for purpose and to detect defects.

The goal of testing is failure detection: the differences between the behaviors of implementation and what is expected on the basis of the specifications. There are different levels of testing:

The unit testing is tests performed by the developers themselves. The goal is to validate code quality and performance.

The integration test is testing performed to expose defects in the interfaces and in the interaction between integrated components or systems.

The validation test is tests performed on the entire system.

To do testing, we can use the Model-Driven Engineering (MDE), a development methodology which focuses on creating and exploiting domain models. Model-Based Testing is founded on system modeling and is part of MDE.

Model-Based Testing was mainly deployed in the industry on the descending phase of the V life cycle, i.e. from functional specifications to implementation through design. Having proved the benefits of efficiency and profitability, Model-Based Testing is now used on the ascending phase of the V life cycle, as verification and validation steps.

V-Cycle

Product Life Cycle

Reminder:

From ISTQB – Validation is confirmation by examination and through provision of objective evidence that the requirements for specific intended use or application have been fulfilled.

From ISTQB – Verification is confirmation by examination and through the provision of objective evidence that specified requirements have been fulfilled.

As testing method, there are black-box testing (functional test), white-box testing (structural test) and grey-box testing (mixed strategy between black and white-box testing).

Model-Based Testing is a black-box approach, i.e. this is a method that examines the application functionality without peering into its internal structures or tasks.

Model-Based Testing is application for designing and optionally also executing artifacts to perform software testing.

Models can be used to represent the desired behavior of a System Under Test (SUT), or to represent testing strategies and the SUT environment :

System Model

Test Generation Tool

Test Execution

System Under Test

Functional Requirements

 Main Model-Based Testing steps

Model-Based Testing is a systematic method to generate test cases from models based on system requirements. It allows you to verify that your system has been designed entirely according to its functional requirements (the outputs of the SUT are the same as the predicted by the tests).

The testing effort is made by test engineers during the design of the usage model.

The MBT approach allows doing a SUT tests representative number defined by the user. The verification is more complete in comparison with the traditional testing, because the user can assemble several requirements, use equivalence classes, use statistics and generate a large number of scenarios, which will cover a broad test spectrum that tests writing manually.

If we assume that the program verifier requires a significant amount of input to achieve good results (for example, very precise specifications of the system and each module within the system), then the cost of full verification may not be cost-effective for some non-critical systems. In this case, MBT may be a viable alternative.

The effectiveness of Model-Based Testing is highly increased with automation that is to say that the capability to automatically translate test cases into executable test material. But we will discuss about that later in this document.

The Model-Based Testing involves:

Creating a model based on SUT functional requirements

Automatically generate test scripts and test cases

And then, with the right test environment, execute the test cases automatically and generate analysis & reports.

Model-Based Testing Concept

model-Based_Testing

A usage model of the SUT is designed based on the system requirements or existing specification documents. The abstract model represents the intended behavior of the system under test (SUT).
Then, to generate test cases, the user is choosing his test strategy depending on the maturity level of the project. The tester can focus on the most used features and most probable SUT’s behaviors, or focus on the most SUT critical and complex parts or profiles, or generate the test cases that cover all the requirements with the lowest test effort, or use a random testing technique.

The tester can also test a part of the system with the specific specifications and ignore all the rest of the SUT. When the project is more mature, he completes the SUT model and start again with a more complete test strategy and therefore more test cases.

Then, test scripts (test procedure specification) are executed based on the test suite (set of several test cases) generated to be interpretable by the test environment. The test scripts are ran on the SUT and finally, a series of metrics like quality, test coverage, reliability are offered at the user.

Based on the results, i.e. a comparison between the SUT behavior output and the result of the executed test cases, the tester team is able or not to modify requirements to solve failures and to improve the system.

Thanks to the Model-based Testing approach, the user can design a model, define test selection criteria, choose a test strategy, generate and execute test cases on the SUT.

If the user doesn’t desire automated test, he is able to do manual testing from test cases. But, the ultimate step is to run the test scripts automatically thanks to the appropriate test environment.

Why using Model-Based Testing?

Model-Based Testing allows a better understanding of the application and enables more agile testing.

Depending on the test strategy, the user can generate a very large account of tests.

Benefits:

Easy test case maintenance

Reduced costs

As much test cases as wanted

No programming skills needed

Early bug detection

Increased bug count

Time savings

Time to address bigger test issues

Improved tester job satisfaction

How to do a Model-Based Testing application successful?

When a company makes Model-Based Testingchoice, it is a fundamental decision and there are some prerequisite to be successful and optimize the choice.

For a good modeling, the team has:

To be aware or to have a knowledge about the SUT

To have basics knowledge in testing and Model-Based Testing tool philosophy

To have SUT functional requirements

To have a good level of abstraction and reflexion

To know the Model-Based Testing tool used by his company.

A question that the testing team can ask is: do we have to model from the requirements or from the test bench?

Answer: first, the test model should be made based on the requirements for the basis architecture of the system and second on the test bench to optimize the model as much as possible.

Test Automation

From ISTQB – Test automation is the use of software to perform or support test activities, e. g. test management, test design, test execution and result checking” !

Automation Test Framework

Test Cases from the MBT tool

System Under Test

 Model-Based Testing and Test Automation

There are a numerous industrial test frameworks on the market place like CANoe, NI TestStand, NI VeriStand, ProveTech, EXAM, eggPlant, Selenium, webdriver, Scade, Matlab, QTP/UFT, or languages (Python, C++, C#, VB…).

Test execution platform is the final step when you are using Model-Based Testing technology. It can execute some repetitive but necessary tasks in a formalized testing process already in place, or add additional testing that would be difficult to perform manually (time consuming). Testers can run the test scripts on the appropriate test environment, quickly and repeatedly. It offers a real opportunity to pass a large number of test cases and to increase the quality, the time and the test coverage.

The functional test automation and execution are now more feasible because of technological, organizational and budget maturity. Indeed, industrial or IT companies know now that test frameworks are reliable, the methodology & knowledge are well-known, and the cost is reasonable in comparison with the quality and agility that we obtain.

Model-Based Testing today?

More and more test conferences organized around the world have Model-Based Testing topics on their agenda, like: Model-Based Testing and Agile, Model-Based Testing and the Cloud, Model-Based Testing for Dummies, Model-Based Testing and the Test Ecosystem, Model-Based Testing Challenges…

We also can see several companies (industrial and IT) choosing this technology, but changing the mentality are not easy and is time-consuming. Testers have to be included at the high level of product life cycle. Then, failures can be find very early, requirements and specifications can be changed and the cost & quality product will be better. Modeling requests time and training.

Since some years, modeling is more used, particularly in domains like automotive or telecom for example, because quality and cost are crucial and mentality has changed.

CONCLUSION

Model-Based Testing approach has modified the testing process. The process flow is more structured and allows detection of specifications errors in its early stages. Thus, it allows the identification of new test cases by requiring an increased exchange with the system specification team and allows the automatic generation of test scripts. The test designer is able to generate as many test cases as necessary to ensure an enhanced coverage and reliability of the tested functionality.

Early validation of requirements is a known “best practice”. The fundamentals of Model-Based Testing are now well-known on the industrial/IT domains and on the research part too. Everybody agree to detect bugs as soon as possible in the product life cycle. Since several years, there are software tools dedicated to MBT proposed to dedicated people.

Minds are changing and Testers have the capability to “jump the gap” to choose Model-Based Testing adoption with Matelo!

%d bloggers like this: