Testing

Ace your homework & exams now with Quizwiz!

What are some examples of testing policies

All system functions that are accessed through menus should be tested. Combinations of functions that are that are accessed through the same menu must be tested.

what is the TDD process

Start by identifying the increment of functionality that is required Write a test for that functionality and implement that as an automated test. Run the test, along with all other tests that have been implemented. Implement the functionality and re-run the test. Once all tests run successfully, you move on to implementing the next chunk of functionality.

Interface testing guidelines

Test pointer parameters with null pointers and etc.

What is component testing

Test that the component interface behaves according to its specification. Assume that the unit tests on the individual objects within the component is completed.

What is object class testing

Testing all operations associated with an object Setting and interrogating all object attributes. Exercising the object in all possible states.

validation vs defect

Validation is mostly about checking that the system does what it should do Defect is mostly about checking the system does not behave wrongly when being used wrong.

what is the difference between verification and validation

Verification is that the software is conforming to its specification Validation is that the software is what the user wants

What is interface testing

When you attempt to detect faults due to interface errors or invalid assumption about interfaces.

what is beta testing

Where a release of the software is made available to users to allow them to experiment and to raise problems that they discover with the system developers.

What is defect testing

Where we attempt to expose defects. The test cases in defect testing are deliberately obscure and does need to reflect how the system is normally used. A successful test is a test that makes the system perform incorrectly.

What is validation testing

Where we test that the system performs correctly using a given set of test cases that reflect the system's expected use.

what is guideline based testing strategy

Where you use testing guidelines to choose test cases.

Does inheritance make it more difficult to design object class tests

Yes because the information to be tested is not localised.

is release testing a form of system testing

Yes it is but it is tested by a separate team that is not involved in the system development. Goal of system testing is to find defect Goal of release testing is check it meets requirements(validation testing)

What is test driven development

An approach to program development in which you inter-leave testing and code development Test are written before code and "passing" the tests is critical driver of development You don't work on the next part until you pass the first part of the test. Part of the agile methods such as extreme programming but it can also be used for plan driven development processes.

when do we start testing

Before the system is fully implemented because many potential problems from development are forgotten. Testing task can be overwhelming at this point. Since many aspects that needed to be tested arise at requirements and design stage, we can development tests then.

what is automated testing

By making use of a test automation framework to write and run your program tests. It should have a setup part where you initialize the system with the test case, namely the inputs and expected outputs. A call part, where you call the object or method to be tested. An assertion part where you compare the results of the call with the expected result

What are the benefits of test driven development

Code coverage: every code you write has at least one associated test so all code written has at least one test. Regression testing: a regression test suite is developed incrementally Simplified debugging: when a test fails, you will know that it's the new code that broke it. System documentation: tests can act as a form of documentation that describe what the code should be doing.

What are the 3 stages of software testing

Development testing: where the system is tested during development to discover bugs and defects. Release testing: where a separate testing team test a complete version of the system before it is released to users. User testing: where users or potential users of a system test the system in their own environment.

what are some advantages of inspections

During testing, errors can mask other errors but since inspection is a static process, you don't have to worry about the interactions between errors. Incomplete versions of a system can be inspected without additional costs. Helps with compliance with standards, portability and maintainability.

What is development testing

Includes testing activities that are carried out by the team developing the system. Unit testing: where individual program units are tested in isolation. Component testing: where these units are integrated to create composite components. Should focus on testing component interfaces. System testing: where some or all of the components in a system are integrated and the system is tested as whole. Should focus on component interactions.

What are the 4 types of testing

Program testing, release testing, user testing

What are some interface errors

Interface misuse: a calling component calls another component and makes an error in its use of its interface (parameters in the wrong order) Interface misunderstanding: a calling component embeds assumptions about the behaviour of the called component which are incorrect. Timing errors: the called and the calling component operate at different speeds and out of date information is accessed.

what is requirements based testing

Involves examining each requirement and develop a test or tests for it.

What is unit testing

It is a defect testing process. A unit could be individual functions, object classes or composite components with defined interfaces used to access their functionality.

what is alpha testing

It is a type of user testing where the user of the software work with the development team to test the software at the developer's site.

what is software inspections

It is concerned with analysis of the static system representation to discover problems (static verification) It involves people examining the source representation with the aim of discovering anomalies and defects. Does not require an execution of a system so it can be used before implementation. Can be applied to requirements,design, configuration data, test data, etc.

What is software testing

It is concerned with exercising and observing product behavior (dynamic verification). Observes operational behaviour

is it possible to do exhaustive system testing

It is impossible so testing policies are developed to to define the required system test coverage.

what is performance testing

It is part of the release testing. It involves planning a series of tests where the load is steadily increased until the system performance becomes unacceptable. Stress testing is a form of performance testing.

What is acceptance testing

It is when the customers test a system to determine whether it is ready to be deployed.

what is system testing

It is when you integrate components to create a version of the system and test the integrated system. Tests the interactions between components. Tests the emergent behaviour of a system.

What is regression testing

It is when you test the system to check that changes have not broken previously working code. This is easy with automated testing cause you just need to rerun all the tests.

can inspection check conformance with the customer's real requirements

No, it can only check conformance with a specification. It also can not check non-functional characteristics like performance, usability, and etc.

Can program testing reveal the absence of errors

No, it can only reveal the presence of errors.

inspections and testing are opposing verification techniques

No, they are complementary. Both should be used during the V&V process.

what are the two types of unit test cases

One where we test via normal cases One where we test via edge cases

What is program testing

Testing that is intended to show that a program does what it is intended to do and to discover program defects before it is put into use. Checks the results of the test run for errors, anomalies, or information about the program's non-functional attributes. Testing is part of a more general verification and validation process, which also includes static validation techniques.

What is the aim of V & V

The aim of V&V is to establish confidence that the system is fit for purpose. It depends on system's purpose, user expectations, and marketing environment. System purpose: The level of confidence depends on how critical the software is to an organization User Expectations: Users may have low expectations of certain kinds of software Marketing environment: Getting a product to market early may be more important than finding defects in the program.

how to choose unit test cases

The test cases should show the component that you are testing does what it is supposed to do. It should be able to reveal defects.

What is use-case testing

The use cases developed to identify system interactions can be used as a basis for system testing. Since use cases often involve several components so testing them will force the interactions to occur. The sequence diagrams associated with the use case documents the components and interactions that are being tested.

how does agile method related to acceptance testing

The user is part of the development team and is responsible for making decisions on the acceptability of the system. Tests are defined by the user/customer and are integrated with other tests in that they run automatically when changes are made.

What is user testing

This a stage in the testing process in which users or customers provide input and advice on system testing. User testing is essential because influences from the user's working environment have a major effect on reliability, performance, usability and robustness of a system. These can not be replicated in a testing environment.

What is release testing

This is the process of testing a particular release of a system that is intended for use outside of the development team. Goal: convince the supplier of the system that it is good enough for use. It needs to show that it delivers the specified functionality, performance, and dependability, and that it does not fail during normal use. It is usually a black box process. Tests are derived from the system specification

what is partition testing strategy

This is when you identify groups of inputs that have common characteristics and should be processed in the same way. Each data in each partition should behave the same way. Test cases are chosen from each partition.

What are the goals of programming testing

To demonstrate to the developer and the customer that the software meets its requirements. Custom software: there should be at least one test for every requirement in the requirements document Generic software: should be tests for all system features, plus combinations of these features. To discover situations in which the behavior of the software is incorrect, undesirable or does not conform to its specification


Related study sets

Patho Ch 36 Dynamic Study Module Chronic Musculoskeletal Disorders

View Set

Advanced struggling Chapter 3 MC

View Set

Abdominal Regions, Unit 1: Medical Terminology, Medical Terminology - Medical vocabulary, medical terminology

View Set

Salesforce Certified Identity and Access Management

View Set

Pathophysiology II Acute kidney Injury and Chronic Kidney Disease (NCLEX Style Questions)

View Set