Exam 4 481W

Lakukan tugas rumah & ujian kamu dengan baik sekarang menggunakan Quizwiz!

Some people argue that developers should not be involved in testing their own code but that all testing should be the responsibility of a separate team. Give arguments for and against testing by the developers themselves.

Arguments for the testing by developers are: • Testing becomes easy as they know the areas of code which need testing. • Generating test case will also becomes easy as they have a clear view of the entire code and the test cases that can be helpful. • Saves time, as they need not learn about the code. Arguments against the testing by developers are: • One may not easily identify their own errors. • Testing may be compromised so as to reduce their error rate • Increases the effort of developers and may compromise with quality

What are the benefits of involving users in release testing at an early stage in the testing process? Are there disadvantages in user involvement?

Benefits of involving users in release testing at an early stage: • As the system release is for customers and users, they can easily identify the modifications needed. • Helps in getting the views of the users and the modifications needed from the users' perspective. Disadvantages of user involvement: • May not get a better feedback as the views and ideas of users vary from person to person. • May increase the effort of testing as the users may not have clear view of the system. • Testing perspective may sometimes be deviated to some other view.

Build or buy

Can buy systems that can be adapted More about using configuration features to deliver requirements

When code is integrated into a larger system, problems may surface. Explain how configuration management can be useful when handling such problems.

Configuration management is essential when a team of people are cooperating to develop software. Because it is the process of managing changes to evolving software system, Main aim of configuration management is to support the system integration process so that all developers can access the project code and documents in a controlled way, find out what changes have been made, and compile and link components to create a system. It follows some of activities like Version management, System integration and Problem tracking. EX: When something goes wrong with a new version of a system, it may be able to go back to a working version of the system or component. Explanation: If a new version of software is created, there is a significant change in functionality, technology, or the hardware is runs on, etc. On the other hand a new revision of software refers to minor bug fix in that software.

Design

Creative activity to identify software components adn relationships based on requirements

Process Stages of Object Oriented Design

Define Context and modes of use of the system Design system architecture Identify Principle system objects Develop design modesl Specify object interfaces

Dynamic models

Describe dynamic interactions between objects

Architectural design

Design system architecture Organize components using architectural pattern

Object Orineted Design Process

Develop lots of models. Lots of effort for dev and maintenance of models (not cost effective for small systems)

The Mentcare system is constructed by adapting an off-the-shelf information system. What do you think are the differences between testing such a system and testing software that is developed using an object-oriented language such as Java?

Difference between testing an off-the-shelf information system and object oriented software exists in their testing methodologies and various tests applied. The differences are: • An application system such as MHC-PMS must be tested by considering each requirement and every requirement carefully and by developing test cases. It should be tested that the applications works well in all the cases. • Object oriented software is tested in the perspective of classes, objects, their binding, dependency etc, whereas off-the-shelf information system applications must be tested in various perspectives such as requirements satisfaction, user acceptance, fault tolerance etc. • The applications adapting an off-the-shelf information system are to be tested from environmental perspectives. For example if drug dosage is given as a wrong input, it affects the patient. All such conditions are to be tested thoroughly, whereas object oriented software may not result in such harmful effects. • These testing process of the off-the shelf systems must concentrate more on scenario testing, performance testing and stress testing. All these tests are to be performed because any error in these applications may affect more and may cause loss.

A common approach to system testing is to test the more important functionalities of a system first, followed by the less important functionalities until the testing budget is exhausted. Discuss the ethics involved in identifying what "more important" means.

Ethically, the "most important" features that need to be bug free are the ones concerning safety. Nothing is as important as ensuring no human harm is done through the use of your software. This is especially true in safety critical systems, but even in non critical systems, this should be the first step. T he next step would likely be security, ensuring that users information does not get compromised. After this, though, the issue becomes much more situation specific. Ideally, this testing budget would have been used to ensure a test driven development methodology from the beginning. This will reduce the required testing in the end enormously.

Design and Implementation

Interleaved

A small company has developed a specialized software product that it configures specially for each customer. New customers usually have specific requirements to be incorporated into their system, and they pay for these to be developed and integrated with the product. The software company has an opportunity to bid for a new contract, which would more than double its customer base. The new customer wishes to have some involvement in the configuration of the system. Explain why, in these circumstances, it might be a good idea for the company owning the software to make it open source.

It might be a good idea for the company to make the software open source because it reduces the development costs and effort. Developing a product especially for each customer is a very tough task. It increases development costs and also requires more effort and time. Adding requirements to each product and developing is a difficult task. When it is made open source, then the source code will be available to the customers and are permitted to make changes. It helps them in making their own changes as per their requirements. As customers can have a better idea of their requirements, they can make the product even better for fewer prices. It also helps the company in reducing their effort and also in attracting the customers by allowing them for more involvement in configuring the system. It is the best way to satisfy all the requirements of the individual customers and also to make them involved.

Object class identification

Iterative process to identify object classes Use grammar approach based on natural language desription Base identification on tangible things in the application domain

Implementation

Realizing design as a program

What is regression testing? Explain how the use of automated tests and a testing framework such as JUnit simplifies regression testing.

Regression testing: It is a test suite developed incrementally as a program is developed. Regression testing involves running test sets that have successfully executed after changes have been made to a system. Using the automation frameworks, the entire test suite can be run in a few seconds so it is possible to execute all the tests every time you make a change to the program. Automated testing dramatically reduces the costs of regression testing. These help the regression test to be easier and reduce effort.

Write a scenario that could be used to help design tests for the wilderness weather station system.

Scenario-based analysis of wilderness weather station system: The weather station is composed of independent subsystem that communicates by broad casting messages on a conman infrastructure. Weather stations collect data from a set of instruments that measure temperature and pressure, sunshine, rainfall, wind speed and wind direction. The weather station includes a number of instruments that measure weather parameters such as the wind speed and direction, the ground and air temperatures, the barometric pressure and the rainfall over a 24-hour period. Each of these instruments is controlled by a software system that takes parameter readings periodically and manages the data collected from the instruments.

You have been asked to test a method called catWhiteSpace in a "Paragraph" object that, within the paragraph, replaces sequences of blank characters with a single blank character. Identify testing partitions for this example and derive a set of tests for the catWhiteSpace method.

Sentences with only single black chars Sentences with sequence of blank char in middle of sentence Sequence of blank chars at beginning of sentence Sequence of black chars at end of setence

Interaction model

Show how system interacts with environement

Structural models

Static structure of the system in terms of object classes and relationships

Context model

Structural model to demonstrate other systems in the environment of the system being devleoped

System context and interactions

Understanding relationship for deciding how to provide the required system functionality and how to structure the system to communicate with its environment

What do you understand by the term stress testing? Suggest how you might stress-test the Mentcare system.

• Stress testing is a prominent method in software engineering, which is used to test the system by increasing the load on the system and push the system's limits and notify how it reacts, the user needs it to decrease the load slowly but do not crash the system. • It is a system is intentionally loaded to test its failure behavior for the form of performance testing. It is a high concurrency resource. • Simply it is a "fail-soft" rather than collapse under its overloading.


Set pelajaran terkait

Chapter 16: The Endocrine System

View Set

ABC UNIT 1 basic study of canines

View Set

Module 8 - Sleep and Dreams - Quiz #2

View Set

L4M6 Supplier Relationships all chapters revision

View Set

Direct/Automatic Input Devices and Uses

View Set

CCNA Security Final Exam - CCNAS v2.0

View Set

Sequence of Blood Flow Through the Heart and Body

View Set