Software Engineering Test2 Flashcards

1
Q

list out the typical design errors in an interface

A

Lack of consistency;

Too much memorization;

No guidance / help;

No context sensitivity;

Poor response;

Arcane / unfriendly;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
1
Q

What does Interface analysis mean

A

understanding of:

The people (end-users) who will interact with the
system through the interface

The tasks that end-users must perform to do their
work

The content that is presented as part of the interface

The environment in which these tasks will be
conducted

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

List out the Interface Design Issues

A

Response Time

Help Facilities

Error Handling

Menu and Command Labeling

Application Accessibility

Internationalization

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

state the basic design principles

A

The Open-Closed Principle (OCP). “A module [component] should be open for extension but closed for modification.

The Liskov Substitution Principle (LSP). “Subclasses should be substitutable for their base classes.

Dependency Inversion Principle (DIP). “Depend on abstractions. Do not depend on concretions.”

The Interface Segregation Principle (ISP). “Many client-specific interfaces are better than one general purpose interface.

The Release Reuse Equivalency Principle (REP). “The granule of reuse is the granule of release.”

The Common Closure Principle (CCP). “Classes that change together belong together.”

The Common Reuse Principle (CRP). “Classes that aren’t reused together should not be grouped together.”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

list out the level of cohesion

A
  1. Functional
  2. Layer
  3. Communicational
  4. Sequential
  5. Procedural
  6. Temporal
  7. Utility
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

list out the Level of Coupling

A
  1. Content
  2. Common
  3. Control
  4. Stamp
  5. Data
  6. Routine call
  7. Type use
  8. Inclusion or import
  9. External
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is a component? What is the difference between an OO component and a conventional component?

A

a modular, deployable, and replaceable part of a system that encapsulates implementation and exposes a set of interfaces.

OO View - A component contains a set of collaborating
classes.

Conventional View - A component contains processing logic,
the internal data structures that are required to implement the processing logic, and an interface that enables the component to be invoked and data to be passed to it.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Describe conventional and OO Cohesion

A

OO View - A component contains a set of collaborating
classes.

Conventional View - A component contains processing logic,
the internal data structures that are required to implement the
processing logic, and an interface that enables the component to
be invoked and data to be passed to it.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Describe conventional and OO Coupling

A

Conventional View - The degree to which a component is connected to other components and to the external world

OO View - A qualitative measure of the degree to which classes are connected

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Describe Designing Conventional Components

A

The design of processing logic is governed by the
basic principles of algorithm design and structured
programming

The design of data structures is defined by the data
model developed for the system

The design of interfaces is governed by the
collaborations that a component must effect

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is a “Good” Test?

A

A good test has a high probability of finding an error

A good test is not redundant.

A good test should be “best of breed”

A good test should be neither too simple nor too complex

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

what does Black-box testing attempts to find

A

Black-box testing attempts to find errors in the
following categories :

Incorrect or missing functions

Interface errors

Errors in data structures or external databases

Behavior or performance errors

Initialization or termination errors

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

State the Black-Box Testing Methods

A

Graph-based testing methods
Equivalence partitioning
Boundary value analysis

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

State the OO Testing Methods

A

Fault-based testing
The tester looks for plausible faults. Test cases are designed to exercise the design or code.

Class Testing and the Class Hierarchy
Inheritance does not obviate the need for thorough testing of all derived classes. In fact, it can actually complicate the testing
process.

Scenario-Based Test Design
Scenario-based testing concentrates on what the user does. This means capturing the tasks (via
use-cases) that the user has to perform, then applying them and their variants as tests.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

List the steps of Random Testing

A
  1. Identify operations applicable to a class.
  2. Define constraints on their use.
  3. Identify a minimum test sequence
  4. Generate a variety of random test sequences
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

describe partition testing

A

Reduces the number of test cases required to test a class

State-based Partitioning categorizes and tests operations
based on their ability to change the state of a class.

Attribute-based Partitioning categorizes and tests
operations based on the attributes that they use.

Category-based Partitioning categorizes and tests
operations based on the generic function each performs.

16
Q

describe Inter-Class Testing

A

Use the list of class operators for each client class to generate a series of random test sequences. The operators will send messages to other server classes.

For each message that is generated, determine the collaborator class and the corresponding operator in the server object.

For each operator in the server object (that has been invoked by messages sent from the client object), determine the messages that it transmits.

For each of the messages, determine the next level of operators that are invoked, and incorporate into the test sequence.

17
Q

describe the strategic approach to software testing

A

To perform effective testing, you should conduct effective technical reviews. By doing this, many errors will be eliminated before testing commences.

Testing begins at the component level and works “outward” toward the integration of the entire computer-based system.

18
Q

describe verification

A

Verification refers to the set of tasks that ensure that software correctly implements a specific function.

19
Q

describe validation

A

Validation refers to a different set of tasks that ensure
that the software that has been built is traceable to
customer requirements.

20
Q

describe the WebApp main components

A

Web Browser: the front-end component interacts with the user, receives the input and manages the presentation logic while controlling user interactions with the application.

Web Server: the backend component handles the business logic and processes the user requests by routing the requests to the right component and managing the entire application operations.

Database Server: provides the required data for the application. It handles data-related tasks.

21
Q

For the end-users, what are the important quality dimensions of Web applications?

A
  1. Time
  2. Structural
  3. Content
  4. Accuracy and Consistency
  5. Response Time and Latency
  6. Performance
22
Q

state the WebApp Design Goals

A

Consistency - Content should be constructed consistently

Identity - Establish an “identity” that is appropriate for the business purpose

Robustness - The user expects robust content and functions that are relevant to
the user’s needs

Navigability - designed in a manner that is intuitive and predictable

Visual appeal - the look and feel of content, interface layout, color coordination,
the balance of text, graphics and other media, navigation mechanisms must appeal to end-users

Compatibility - With all appropriate environments and configurations

23
Q

Describe each level of the WebE Design Pyramid.

A

Interface Design - provide an indication of the WebApp that has been accessed

Aesthetic Design - Organize layout elements from top-left to bottom right.

Content Design - Develops a design representation for content objects

Architecture Design - WebApp architecture addresses how the application is structured to manage user interaction, handle internal processing tasks, effect navigation, and present content.

Navigation Design - Begins with a consideration of the user hierarchy
and related use-cases

Component-Level Design - provide computation or data processing capability that are appropriate for the WebApp’s business domain

24
Q
A
25
Q

What are the important considerations in the development of mobile applications?

A
  1. Multiple hardware and software platforms
  2. Short development cycles
  3. User interface limitations
  4. Effective use of context
  5. Power management
26
Q

Discuss the mistakes in mobile application development

A
  1. Kitchen sink
  2. Inconsistency
  3. Overdesigning
  4. Lack of speed
  5. Verbiage
  6. Non-standard interaction
  7. Help-and –FAQ-itis
27
Q

state the MobileApp Design Best Practices

A
  1. Identify the audience
  2. Design for context of use
  3. Recognize line between simplicity is not laziness
  4. Use the platform to its advantage
  5. Allow for discoverability of advanced functionality
  6. Use clear and consistent labels
  7. Clever icons should never be developed at the expense of user understanding
  8. Long scrolling forms trump multiple screens
28
Q

Types of Mobile App

A

Native apps
built for a specific mobile operating system, usually iOS or Android.

Web apps
Run through a browser (HTML5 or CSS)

29
Q

state the MobileApp Development
Process Model

A
  1. Formulation
  2. Planning
  3. Analysis
  4. Engineering
  5. Implementation and testing
  6. User evaluation
30
Q

State the MobileApp User Interface Design
Considerations

A
  1. Define user interface brand signatures
  2. Focus the portfolio of products
  3. Identify core user stories
  4. Optimize UI flows and elements
  5. Define scaling rules
  6. Create user performance dashboard
  7. Rely on dedicated champion with user interface engineering skills
31
Q

describe McCall’s Software Quality
Factors

A

Product Operations
Operational characteristics

Product Revision
Ability to undergo changes

Product Transition
Adaptability to new environments

32
Q

Discuss how the quality of a software product can be determined.

A
  1. Performance Quality.
  2. Feature quality.
  3. Reliability.
  4. Conformance.
  5. Durability.
  6. Serviceability.
  7. Aesthetics.
33
Q

Explain the “Software Quality Dilemma” and what can be done to manage it.

A

If you produce a terrible quality software system, you lose because no one will want to buy it.

If you spend infinite time, effort, and money to build the perfect software, then it will take so long to complete and so expensive to produce that you’ll be out of business.

In the industry, the goal is to strike a balance where a product is good enough to pass evaluations without being rejected immediately, yet avoids excessive perfectionism and effort that could make it time-consuming or costly to complete.

34
Q

What are Software Quality Assurance Activities?

A

Project management – project plan includes explicit techniques for quality and change management

Quality control - series of inspections, reviews, and tests used to ensure conformance of a work product
to its specifications

Quality assurance - consists of the auditing and reporting procedures used to provide management with data needed to make proactive decisions

35
Q

The requirements delineated by ISO 9001:2015 address topics
such as?

A

Leadership’s Responsibility

Quality Policy

Planning for the Quality Management System

Supporting the Quality Management System

Customer Communication

Product Identification and Traceability

Customer Satisfaction

Effective Management Review

Internal Audit

Continual Improvement

Nonconformity and Corrective Action

36
Q

what are the roles of the SQA Group

A

Reviews software engineering activities to verify compliance with the defined software process.
Audits designated software work products to verify compliance with those defined as part of the software process.
Ensures that deviations in software work and work products are documented and handled according to a documented procedure.
Records any noncompliance and reports to senior management.

37
Q

state the SQA goals

A

Requirements quality.
Requirements quality.
Code quality.
Quality control effectiveness.