1/63
System Analysis and Design John Saztinger, Robert Jackson, Stephen Burd
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
the process of examining a component, subsystem, or system to determine its operational characteristics and whether it contains any defects
Testing
a formal description of a starting state, one or more events to which the software must respond, and the expected response or ending state
-Defined based on well understood functional and non-functional requirements
-Must test all normal and exception situation
Test Case
a set of starting states and events used to test a module, group of modules, or entire system
Test Data
Software components must perform to the defined requirements and specifications when tested in isolation. What type of testing is that?
Unit testing
Software components that perform correctly in isolation must also perform correctly when executed in combination with other components in the new system. What type of testing is that?
Integration testing
What is an example of an Unit test?
incorrectly calculates sales tax amounts in different locations
What is an example of an integration test?
sales tax component that calculates incorrectly when receiving money
A system or subsystem must meet both functional and non-functional requirements. What type of testing is it?
System and stress testing
Software must not only operate correctly but must also satisfy the business need and meet all user “ease of use” and “completeness” requirements. What type of testing is it?
User acceptance testing
What is an example of system of stress testing?
item looks up function in a sales subsystems retrieves data within 2 secs when running in isolation, requires 30 secs while running the system
What is an example of User acceptance testing?
a commission system that fails to handle special promotions or a data-entry function with a poorly designed sequence of forms.
tests of an individual method, class, or component before it is integrated with other software
Unit test
a method or class developed for unit testing that simulates the behavior of a method that sends a message to the method being tested
Driver
a method or class developed for unit testing that simulates the behavior of a method invoked that hasn’t yet been written
Stub
one method passes a parameter of the wrong data type to another method
Interface incompatibility
A method is passed or returns a value that was unexpected, such as a negative number for a price
Parameter Values
A method generates an error, such as “out of memory” or “file already in use,” due to conflicting resource needs
Run-times exceptions
The states of two or more objects interact to cause complex failures, as when an OnlineCart class method operates correctly for all possible Customer object states except one
Unexpected state interactions
What is the required procedure for create test data?
comprehensive test data, must be coordinated between developers
What is the required procedure for conduct the integration test?
Assign resources and responsibilities. Plan frequency and procedures
What is the required procedure for evaluating the test results?
identify and valid and invalid respones
What is the required procedure for creating test suites?
Build and unit test the components to be integrated
What is the required procedure for logging test results?
Log valid test runs.
log errors
Correct the code and retest
an integration test of an entire system or independent subsystem
System Test
a system test that is performed daily or several times a week
Build and smoke test
an integration and usability test that determines whether a system or subsystem can meet time-based performance criteria
Performance or stress test
the desired or maximum allowable time limit for software response to a query or update
Response time
the desired or minimum number of queries and transactions that must be processed per minute or hour
Throughput
a system test performed to determine whether the system fulfills user requirements
User acceptance test
What is UAT stand for?
User Acceptance test
How to plan the UAT?
-Should be done early in the project
-Test cases for every use case and user stories
-Identify conditions to verify that the system supports the use case accurately and completely
data entry and database records
Develop test data
system tests, stress tests, and user acceptance tests are considered deployment
Note
requires a fully populated database to support ongoing processing
operational system
Modify or update existing data
Reuse existing databases
Copy and convert the data
Export and import data from distinct DBMSs
Data entry from paper documents
Reload databases
Training is needed for
end users and system operators
Large organization train _______ who in turn end users
trainers
Descriptions of system requirements and architecture to help maintenance and upgrade of the system
System Documentation
How to interact with and use the system for end users and system operators
User documentation
Which specific type of development order implements top-level modules first (use stubs for testing)?
Top-down development
What specific development order that implements low-level detailed modules first (use drivers for testing)?
Bottom-up development
What is IPO stand for?
input, process, output
a development order that implements input modules first, process modules next, and output modules last
input, process, output
select specific use cases and order the development based on selected use cases
Use case driven
An automated tool for tracking source code files and controlling changes to those files
source code control
What is SSC stand for?
Source Code Control
What is an example of a source code control?
When a programmer needs to make changes to a file, he or she checks out the file in read/write mode
The _______ allows only one programmer at a time to check out a file in a read/write mode
SCCS (SSC system)
What are three different approaches?
Direct deployment
Parallel deployment
Phased deployment
a deployment method that installs a new system, quickly makes it operational, and immediately turns off any overlapping systems (higher risk, lower cost)
Direct deployment
a deployment method that operates the old and the new systems for an extended time period (lower risk higher cost)
Parallel Deployment
deployment method that installs a new system and makes it operational in a series of steps or phases
Phased Deployment
tools and processes handle the complexity associated with testing and supporting a system through multiple versions
Change and Version Control
a test version that is incomplete but ready for some level of rigorous integration or usability testing
Alpha Version
a test version that is stable enough to be tested by end users over an extended period of time
Beta Version
a system version that is formally distributed to users or made operational for long-term use
Production version, release version, or production release
a system update that provides bug fixes and small changes to existing features
Maintenance release
Deploy in two versions
Phased Deployment to Minimize Risk
New database built and data migrated before deploying version 1, in iterations
Database Development and Data Conversion
Start with the higher risk Sales subsystem and customer facing Order fulfillment subsystem
Development Order
Spread throughout later iterations for both versions
Documentation and Training
control systems enable development teams to coordinate their work
Source code
improves post deployment support by enabling developers to track problem support to specific system versions
Versioning