Computer Forensics and Use of AI/Computers in Forensic Sciences

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 18

Computer Forensics and Use of AI/Computers in forensic Sciences

http://www.seminarsonly.com/computer%20science/computer%20forencics.php

http://en.wikipedia.org/wiki/Computer_forensics

http://www.boston-computer-forensics.com/learn/forensics_process.php

http://www.boston-computer-forensics.com/learn/forensics_faq.php

http://www.computerforensicsworld.com/

http://ezinearticles.com/?Importance-of-Computer-Forensics&id=1116636

Google for: use of ai in forensic science, use of computers in forensic science, learning computer forensics
process

Software and Books Provided:

Each participant will receive a licensed copy of NTI's Incident Response Software Suite, the
new Stealth tools, a computer forensics training DVD and additional support software. They
will be exposed to encryption breaking methods and password recovery. Each participant
will also receive a free copy of FireHand Ember by FireHand Technology which is a graphics
file viewer. This viewer is used in conjunction with NTI's computer forensics software tools
which are demonstrated and used during the class. To supplement the course content and NTI
training manuals each participant will also receive a copy of Computer Forensics - Incident
Response Essentials by Warren G. Kruse II and Jay G. Heiser. This training course is
recommended in the book and several of the NTI tools provided with the course are also
described and discussed in the book.

Syllabus:
Computer Forensics Course - Day 1:
 Lecture on personal computer security weaknesses and related computer security risks which enhance the ability
to find computer evidence.
 Lecture on computer evidence preservation and the safe seizure of computers.
 Lecture and demonstration concerning the identification of computer leads and evidence using computer forensic
data sampling techniques.
 Practical exercise involving data sampling to identify leads and evidence from a Windows swap file.
 Practical exercise involving data sampling to identify past Internet activity on a computer hard disk drive.
 Lecture and demonstration concerning file hashing using RSA's MD5 algorithm and related testimony issues in
court.
 Lecture and demonstration concerning file slack including ram slack and drive slack. The lecture will focus on
security weaknesses associated with file slack and the use of file slack as a source of leads and evidence in computer-
related cases.
 Lecture and demonstration concerning unallocated file space and its use as a data sampling source of leads and
evidence. The lecture will focus on security weaknesses associated with unallocated file space (erased files) and the use of
this ambient data source for leads and evidence in computer-related investigations.
 Practical exercise concerning file hashing using RSA's MD5 algorithm.Practical exercise involving file slack
analysis and the forensic matching of a floppy diskette to a computer hard disk drive. This advanced technique was
developed by NTI and it is mentioned in John Vacca's book, Computer Forensics - Computer Crime Scene Investigations.
 Lecture and demonstration of the computer startup process (boot process). Emphasis is placed upon the
importance of the boot process as a potential security risk and insider threat.
 Practical exercise concerning the boot process. Each student will be exposed to the modification of the boot
process and the detection of such modifications after-the-fact.
 Lecture and demonstration of computer forensics searches using targeted strings of text. The lecture will focus on
the strengths and limitations of traditional forensic text searches. Security reviews for classified agencies will also be
discussed and related issues will be demonstrated.
 Practical exercise concerning the hypothetical investigation of the theft of classified government data.

Computer Forensics Course - Day 2:


 Review of information covered during the prior day of instruction.
 Lecture and demonstration of computer usage time line analysis and its relevance in computer-related
investigations and computer security reviews.
 Practical exercise involving computer usage time line analysis.
 Lecture and demonstration concerning the documentation of computer evidence findings and related testimony in
deposition or at time of trial.
 Lecture on disk structures and related computer evidence and computer security risk issues.
 Practical exercises concerning the documentation of computer evidence and/or security review findings.
 Practical exercises concerning the secure deletion of sensitive data and the validation process used to verify that
the data no longer exists.
 Practical exercise involving the evaluation of trojan horse programs, encryption and data hiding techniques.
 Review of the practical exercises and a discussion about relevant findings.
 Lecture and demonstration concerning file header identification and the reconstruction of graphics file images from
ambient data sources, e.g. swap files, slack and unallocated storage space.
 Lecture and demonstration concerning the reconstruction of deleted computer files and related testimony and
documentation issues.

Computer Forensics Course - Day 3:


 Review of information covered in the prior day of instruction.
 Practical exercise involving the forensic recovery of deleted computer files.
 Lecture and demonstration concerning the breaking of encryption and the recovery of passwords used to secure
files created by popular computer applications. This lecture also demonstrates the identification of foreign language
passwords used with encryption to secure data.
 Review of computer forensic methodology and the topics covered in class.
 Final examination concerning basic forensics which requires the hands-on demonstration by the participants in
finding their NTI Certificate of Completion hidden on a "special floppy diskette".

Computer Forensics Course - Day 4:


 Demonstration and detailed instruction in the use of NTI's SafeBack bit stream backup software to make an
evidence grade backup of a computer hard disk drive. Each participant will receive a copy of this software at the conclusion
of the training course.
 Lecture and demonstration concerning the correct procedure for seizing and processing Windows NT, Windows
2000 and Windows XP computer systems.
 Lecture concerning the benefits and weaknesses of pulling-the-plug when an NTFS-based computer is seized.
 Lecture concerning the 'forensic' differences between DOS, Windows, Windows 95, Windows 98, Windows NT,
Windows 2000 and Windows XP.
 Lecture concerning the structure of the NTFS data storage method and related processes tied to 'erased files' and
file slack.
 Practical exercise dealing with 'erased files' and file slack on an NTFS system.
 Lecture concerning the NT File System (NTFS) and its reliance upon a Master File Table (MFT).Lecture and
demonstration concerning the NT boot sequence to help determine the likelihood of someone hiding data on the system.

Computer Forensics Course - Day 5:


 Lecture on the processing of an NTFS RAID configured system with NTI's NTFS forensic tool suite (which is
provided with the class).
 Lecture and demonstration on how the recycle bin works and about the forensic evidence trail that it leaves behind.
 Lecture and demonstration on 'data streams' and how information can be hidden in them.
 Practical exercise dealing with 'data streams'.
 Practical exercise dealing with the search for data using an NTFS aware computer forensics search utility (which is
provided with the class).
 Lecture concerning Windows 2000/XP encryption and how it affects computer evidence processing.
 Lecture concerning NTFS backup recovery services and how they relate to the forensics process.
 Practical exercise concerning the processing of an NTFS-based system.
 Participants will sit for an Oregon State University administered examination. (Jacksonville students may take the
exam after the class using the OSU web testing facilities if an OSU proctor is unavailable.) Those that receive passing
scores will receive 3 workshop hours of college credit and an Oregon State University Professional Development Certificate.
In the event the participant does not receive a passing score, they will be allowed to sit for the examination a second time
(over the Internet) without additional tuition or costs.

Students will receive licensed copies of computer forensics utilities for use with DOS,
Windows, Windows 95, Windows 98, Windows NT, Windows 2000 and Windows XP-
based systems (as described in detail above).

Course Objectives:
Each participant should leave the class with a firm understanding of the following:

 Computer security risks and remedies.


 Incident responses, priorities and team building requirements.
 Preservation of computer evidence.
 Time line analysis of computer files based on file creation, file modification and file access.
 Trojan horse programs.
 Differences between DOS, Windows and Windows NT/2000/XP from a forensics standpoint.
 Solid computer forensics processing methods and procedures.
 The documentation of computer forensics findings for use in trial or for management review.
 Identification of past Internet browsing, file downloads and E-mail communications.
 The use of U. S. Department of Defense tested and certified forensic search tools to identify data leakage and
related ecurity risks. Each student will leave the class with licensed copies of this NTI software.
 The use of U. S. Department of Defense tested and certified data elimination tools to eliminate identified computer
security risks. Each student will leave the class with licensed copies of this NTI software.
 The use of computer forensics software tools to cross validate findings in computer evidence-related cases.
 The use of computer forensics software tools to cross validate and certify the elimination of data leakage in
classified government security risk assessments. Each student will leave the class with licensed copies of this NTI software.
 Issues relevant to overcoming a legal junk science attack.

Any of our classes can be held at your location. If you are interested in hosting a class for greatly
reduced or possibly free tuition please feel free to contact us.

 Introduction to Computer Forensics for Windows-based computers


 Advanced Windows-based Computer Forensics
 Introductory and Advanced UNIX / Linux-based Computer Forensics
 Intrusion Investigations
 Network based investigations. Our instructors conduct investigations on a global TCP/IP based
network and can share some tips/tricks with you.
 Insider Threats
 Computer Security Issues

Key Benefits
 Up to date instruction
 Instructors are practitioners
 Our one program covers both UNIX and Windows processing
 Work towards CCE Certification
 Learn the full range of Computer Forensics Skills
 Build your Digital Forensics Toolkit
 Discover proven investigative strategies
 Develop the skills to track an offender on the Internet
 Design an incident response strategy
 Define proper evidence handling procedures
 Learn how to work with law enforcement

Expect to Learn

 Computer Crimes & Forensics


 Retrieving data for other purposes
 Setting up a forensics group
 High-Tech Investigations
 Tips and tricks
 Tracking an offender
 Working with Law Enforcement
 When and how to ask Law Enforcement to assist in your investigation
 Where to go from here

What's Included:

 On-line Exam for the first part of the Certified Computer Examiner Certification
 Five Full Days of Intensive instruction and review with a master of Forensics
 Hands-on Exposure to dozens of Computer Forensics tools
 Warren Kruse's (Computer Forensic Services) classic "Computer Forensics" by Addison-Wesley
 Custom courseware books

 Duration:
5 (five) Days of instruction, mentoring and lab time, with evening labs available.

Click HERE to for more information

--------------------------------------------------------------------------------------------------------------------------

2004 Computer Forensic 3 day Advanced Computer Forensics.

Any of our classes can be held at your location. If you are interested in hosting a class for greatly reduced or possibly
free tuition please feel free to contact us.

 Advanced Windows-based Computer Forensics


 Advanced UNIX / Linux-based Computer Forensics
 Intrusion Investigations
 Network based investigations. Our instructors conduct investigations on a global TCP/IP based
network and can share some tips/tricks with you.
 Insider Threats
 Computer Security Issues

Key Benefits

 Up to date instruction
 Instructors are practitioners
 Our one program covers both UNIX and Windows processing
 Learn the full range of Computer Forensics Skills
 Build your Digital Forensics Toolkit
 Discover proven investigative strategies
 Develop the skills to track an offender on the Internet
 Design an incident response strategy
 Define proper evidence handling procedures
 Learn how to work with law enforcement

Expect to Learn

 Computer Crimes & Forensics


 Retrieving data for other purposes
 Setting up a forensics group
 High-Tech Investigations
 Tips and tricks
 Tracking an offender
 Working with Law Enforcement
 When and how to ask Law Enforcement to assist in your investigation
 Where to go from here

What's Included:

 Three Full Days of Intensive instruction and review with a master of Forensics
 Hands-on Exposure to dozens of Computer Forensics tools
 Warren Kruse's (Computer Forensic Services) classic "Computer Forensics" by Addison-Wesley

http://www.scribd.com/doc/23228539/Seminar-Topics-for-Final-Year-Computer-Engineering(CHECKOUT)

1)How about Artificial Intelligence. Program - user interaction. Interface. How does a program learn
something? How shall program rate/judge/evaluate input from user? How can program 'interview' user to
learn new facts? can randomly generated output be rated by user, and what can be fed back. What criteria
should program use to analyze feed back.
2)Should a syntax notation and (limited) map be used? What languages can program parse, interpret or
'understand'? Can only LogLan be used? There are 5000 human languages only on Earth, all functional.
3)Human-Computer Interface and how improvements in this field could help mankind?

4)Model-Driven Development
Model-Driven Development focuses on the use of abstract descriptions — amenable to manipulation by tools
— of systems and phenomena of interest. My research focuses on building languages, tools, and techniques
for Model-Driven Development, and integrates ideas from the OMG’s family of language standards (UML,
MOF, SPEM), from the Eclipse Modelling Project, and formal methods to build rigorous languages and tools
for building different kinds of software and systems.

5)Software Engineering
Broadly speaking, I study different approaches to building software systems, including agile processes for
engineering high-integrity and enterprise systems, mathematical techniques for analysing and reasoning
about systems, novel architectural techniques (e.g., for high-integrity real-time systems), and issues
relating software engineering and security.

6)Ontologies
Ontologies model knowledge within a particular area of human learning. With appropriate explanatory
software, users should gain an understanding of the domain through the ontology’s expression of
relationships, truths and rules.

7)Hypermedia
Hypermedia systems are linked networks of multimedia material. Their navigation interfaces and their visual
appearance need to be intuitive, minimally interfere with the task being undertaken, provide interaction that
is simple in sequence, and is consistently applicable for the task and the users’ preferences.

8)Conversational Interface
Such an interface is one that offers users a more supportive experience (than a conventional graphical user-
interface) while either the user attempts to understand a principle, technique or skill, or simply needs a
“helping hand” to find knowledge. These interfaces are speech-based and applications that have them
readily impress anthropomorphic characteristics on their users.

9)Multimedia Indexing
Multimedia indexing (of speech, video or sequenced learning material) enables the hypermedia interface to
provide semantic-level navigation that is temporally independent and, instead, directly relevant to the
structure of the knowledge being conveyed.

10)Search Engines
These provide a mechanistic means of identifying potentially important information sources. They may also
be used to help in quantifying the presentation quality of sequenced learning material as well as identify the
interconnectedness of that material.

11)Knowledge Management
Knowledge Management is concerned with the creation, transmission and preservation of knowledge in an
organisation. This covers both hard and soft forms of knowledge such as knowledge encoded in systems or
documents and knowledge embodied in people or groups.

12)Information Systems and Organisations


In the broadest sense, this is socio-technical approach as to how best to ’manage’ the fit between
technology and the social world. In particular, it is the relationship between emergent social structures and
the reified structures found in information systems.

13)Virtual Teams
Virtual team working is a special case of Computer Supported Cooperative work (CSCW). Virtual teams are
flexible and functional groups of co-workers who overcome the difficulties of differences in time and
geography through creating a virtual co-presence.

14)Social Network Analysis


The aim is to use the techniques of Social Network Analysis to provide support for distributed working. My
particular interest is in ways that SNA could be used can increase connectedness in groups such as
Communities of Practice when they operate in a distributed manner.
15)Internet Advertising: Targeting Customers Effectively through Online Ads

16)Semantic Based Search Engine vs Concept-based Search Engine

17)Software Quality assurance and robustness of software, tools used, various models, error handling,
planning , process, software life cycle, automated vs. manual, agile, scrum, types of defects
http://www.asknumbers.com/QualityAssuranceandTesting.aspx
http://www.sqa.net/
http://images.google.com/images?q=software%20quality%20assurance&rls=com.microsoft:en-us:IE-
SearchBox&oe=UTF-8&sourceid=ie7&rlz=1I7RNTN_en&um=1&ie=UTF-8&sa=N&hl=en&tab=wi
http://msdn.microsoft.com/en-us/library/ms998213.aspx

search keywords: google: daily scrums testing, seminar topics software testing

Seminars on Software Testing


Here, you find information about the seminars I can offer.

Contact me at hans.schaefer@ieee.org.

Testing is the last step in the software life cycle. Time pressure is well known and increasing
because too many defects are found late and have to be repaired. This seminar shows you how to
cope with this situation. Early test planning and the use of reviews achieve a high degree of
preventive defect removal. Still, at the end you have to execute the tests, in order to measure the
final product quality. The ultimate aim, however, is that defects show up during test preparation
rather than test execution.

These seminars show you “state of best industry practice” testing. You can use the techniques
right away, and even when you use only part of the techniques, you will feel the improvement.

You also get an overview of the latest testing tools, which may help you make test work proceed
smoother and cheaper.

Seminar 1 (1 or 2 days) Methods for test design


Seminar 2 (2 days) Integration, system and acceptance testing
Seminar 3 (1 or 2 days) Managing, organizing and optimizing testing, controlling risks
Seminar 4: Risk based testing
Seminar 5: Advanced and special test methods
Seminar 6: Acceptance testing and supplier follow-up
Seminar 7: (1 or 2 days) Testing real time and embedded systems

Finally, I am able to offer ISTQB Foundation Level seminars. See www.istqb.org for details. (In
Norwegian see www.dataforeningen.no/istqb/ ).
In seminar 1, you will learn:

The basic methods for all test design: how to test data variation, logic and data flows. You also
learn about start and exit criteria and test coverage. In the two day version, it is augmented by
discussions how to test program modules and integrate them.
This seminar is useful for ANYBODY working with testing, and, in addition, programmers.

In seminar 2, you will learn:

 How to integrate software


 How to test functions in system and acceptance testing
 How to test interactions between functions
 How to test nonfunctional characteristics (performance etc.) in system and acceptance testing
 How to build up a maintainable test system
 However, the details of how to design the actual test cases are topic of seminar 1.

In seminar 3, you will learn:

 The basic ideas of modern software testing. How you can describe testing to other involved
people.
 How software testing should be organized to be as effectively as possible.
 How to monitor test progress and manage testing resources and schedules.
 Start and exit criteria
 How to interpret test results, and be sure about your release decisions.
 What kind of technology is available to increase testing efficiency and effectiveness.
 How to use defect data to improve your testing and other software work processes.
 How to tailor the general model to your own needs.

In seminar 4, you will learn:

 What is risk and how can risk be used in testing


 The basics of risk management for projects
 Test prioritization using risk
 Managing risks in the test project itself
 Statistical usage profile based testing
 Risk and test coverage
 Risk and corrections and changes

In seminar 5, you will learn:

 How to choose the right test technique, dependent on the character of the program under test.
 How to cope with complex logic.
 How to test object oriented programs.
 How to optimize testing by statistical reliability modeling.
 How to maintain automated test suites.
 How to test real time embedded software
 What test research is doing.

Seminar 6:

 Background

o To put new software systems into service is often a frustrating experience.


Important functions may not exist, performance may be low and general system
quality lousy. Or it might even be the wrong system and solve your problems.
The system may be hard to use and documentation may be bad or non-existing.
There are few ways out of this misery once it has happened. Still, it is possible to
prevent this. The method is called customer involvement and systematic
acceptance testing.

 The contents

o The seminar shows you what an acceptance test consists of, and how you plan
and execute it, and how you follow up your supplier during the whole
development project, not only at the end. The basis is your needs, and maybe a
product specification. You will learn how to systematically cover every important
aspect of the software with test cases. You will see how test preparation reveals
wrong, missing or unclear requirements and thus prevents problems. You learn
the basic principles of test management, i.e. you learn how to interpret error
data to predict product performance after acceptance.

 Audience

o Software Users and Customers, Quality Assurance Personnel, Software Testers,


Project Managers.

Seminar 7: "Testing embedded systems"


This seminar covers the special, additional requirements for testing real time embedded
systems. Normal testing practice is NOT covered here. Such systems are ridden by a whole lot
of extra problems, in addition to the normal software problems which testing must address.
There are memory and resource corruption, race conditions, deadlocks, live locks, timeouts,
interrupts, scheduling and the generally difficult access to the system under test.

This seminar focuses on the special problems encountered here and ways to deal with them.
The topics discussed here are not normally part of any testing seminars.

We hope you will be an active participant. The seminars have time for discussion and questions
and answers. We would like you to prepare questions on
 What would you like to know about testing
 Where do you think you should organize testing better.

There are more topics I can cover, but not part of the "standard" seminars.
Contents of the seminars

Seminar 1: Methods for designing test cases

1. Introduction to testing
What is testing?
Terminology
Conflicting goals
V-model, test phases, different models
Black Box versus white box testing, reviews, static analysis as methods

2. The work process


Making a test plan
Detailed analysis of specifications and design
Design of the test
Making test data and environment
Running the test, checking coverage, regression testing
Evaluation and exit from testing

3. General test case design techniques


Black box test
White box test´
Statistical and random test
Data variation test
State transition test
Logic test
Data flow test
Event based test
Transaction flow test

4. Other techniques than testing


Code review
Making checklists
Static analysis
Use of assertions
Extreme programming and testing

5. Testing algorithmic programs


Detailed analysis of input and output data
Class partition
Test design (class combination or not, test data bases)
Test case design, including boundary value analysis
Every step with an exercise
6. Testing state machines
Presentation of a state machine
Typical defects
Checking the specification with exercise
How to make a test with exercise
Issues of controllability and observability
What is not covered by this testing?

7. Testing data flows, integration


Analysis of specification
Making data flow test cases
Exercise for data flow test cases

8. Issues in test running


Checking coverage
Exercise in analyzing test coverage
Rerunning tests and automation
How to automate a test
Reference to local tools (if I get your input)

9. Summary
Issues that came up
Priorities

In a two-day version, the following extra topics may be included:

1. Testing object oriented software

2. Testing real time software

3. Formal entry and exit criteria

4. Use of automated tools to generate test environments

There will be several exercises during this seminar.

Seminar 2: Integration, system and acceptance testing

1. Introduction to higher-level test


What should be achieved?
Test model
Typical trouble

2. The general methods for black-box test design


Function based testing
Data based testing
Data flow based testing
State based testing
Event based testing
Coverage based testing
Random testing

3. Integration test
How to find and integration order
What to test, what not to test
Test case design
What to do if there is trouble
Issues with respect to change control
Coverage criteria

4. Test of real time programs (optional)

5. Functional system test


Testing end user functions
Creating scenarios
Test data selection

6. Function interaction testing


Interaction between functions executed after each other
Interaction between parallel functions
Test design

7. Nonfunctional testing
Testing installation, configuration, conversion and compatibility
Testing performance, stress, and volume
Testing reliability
Testing usability
Testing security
Testing other attributes

8. How to verify that changes and error corrections work - regression testing
Retesting during maintenance and after error repair
Maintaining tests
Automating tests

9. Acceptance testing
Customer supplier interaction
The process

10. Testware architecture for manual and automated testing

11. Test automation tools

Seminar 3: Managing, organizing and optimizing testing

1. The basic ideas of defect removal. Introduction, basic facts, terminology, test model

2. Strategic planning of the defect removal project

3. Defect data collection


How to use defect data in order to improve your way to develop systems
Root cause analysis

4. How to be sure the product is reliable enough - start and exit criteria for testing

5. How to manage testing - Some metrics and their use

6. Testware architecture and test documentation. How to keep order in your test
material. How to tailor the new IEEE 829 standard for test documentation

7. Testing technology - software tools for test automation

8. Specifying and preparing the test environment

9. Start and exit criteria

10. How to do risk management as well as risk and profit based testing: prioritizing

11. Test Process Improvement. The TPI model. How to introduce better testing
methods in your group

Seminar 4: Risk based testing

How to fight product risk

How to manage a test project under pressure


1. What is risk
2. How to manage risk: The risk management life cycle
o Risk identification
o Risk analysis
o Risk mitigation
o Risk follow up
o Risk based replanning
3. How to identify risk in software project: Main risks and possible reactions
o Cost
o Scope and Quality
o Time
o Resources
4. Risk based testing: How to prioritize based on product risk
o Overall priority scheme
o Factors determining damage
o Factors determining probability
o The difficulty to find faults
o A simple method to determine and calculate risk
o Selection of test methods and coverage according to risk
o How to do the risk based testing if you know little or nothing
5. Project risk management in test projects: Risks before, during and after the test
6. Optimizing testing using reliability engineering
- Fault density and failure rate predictions
- Statistical usage testing
- How to do this
- Problems
7. Test coverage and risk
8. Changes and corrections and risk in test
9. Summary, References

Seminar 5: Advanced and special test methods

1. An overview of the advanced methods and their practical applicability

2. Methods for testing logical combinations


Cause effect graphing
Minimizing logical combinations
Dependency Island method
Category partition method
Classification tree method
Meaningful impact strategy
Pair wise combination testing
3. Test of object oriented programs
Class testing
Integration along inheritance structures
Integration along object use
Questions of Retesting

4. Testing for very high reliability or safety


Mutation testing
5. Reliability engineering and statistical test
6. Testing real time and embedded programs (this in itself can be presented as a one
day tutorial)
7. How to design maintainable automated test suites

Seminar 6: Planning and Managing Acceptance Testing


1. Introduction: Basic principles for software development and test

 The objective of testing


 How testing fits into development
 The different types of testing and what kinds of problems they should find
 The need for testing even after the first release
2. The customer’s role in software development

 How projects run wrong


 How the customer is turned into a hostage
 How to prevent being hostage of the project
 Following up the supplier’s test efforts
 Preparing acceptance tests
3. Risk based test planning: How to prioritize what to test

 Why and how to use risk to control testing


 Factors that determine how much damage some feature may cause
 Factors that determine the probability of trouble
 How to use a spreadsheet to control your testing
4. The types of testing that should be done

 Testing product functions.


 Testing business flows (“soap opera test”).
 Testing product properties (performance, security, …)
5. Detailed test work: How to make test cases and data

 The most primitive method: One right, one wrong


 Systematic methods for input checking: Equivalence Class Partition - Boundary value
analysis
 Method for business logic: Condition tables
 Method for business flows: State transition testing
 Other test methods
 Exercises
6. How to check that your test is good enough, how to check supplier test

 Coverage criteria and their limits


 What you ever wanted to ask your supplier about his test
7. How to interpret test results
 Problem statistics
 Exit criteria
8. Testing later
 What about maintenance?
 How to assure that defect correction and changes don’t introduce side-effects
 How to put together a regression test
 How the supplier may help you
9. Putting together it all
 A step-by-step procedure for the whole test.
10. Discussion, Summary

Seminar 7: Testing embedded and real time systems


1. Introduction
          * What are embedded systems?
          * The modified V-model
          * Types of testing
2. The special problems with embedded systems and how to test for them
          * Many problems are hard to find by testing, and prevention would be much better.
However, testing methods can be described or tailored.
Race conditions
Data corruption
Timing
Deadlocks
Priority
Rounding problems
Long term problems
Hardware related problems
Etc.

3. Testing state machines


      Many embedded systems employ state machines. This is why reviewing state machine
models and testing state machines is especially important
          * How to review state machine models
          * How to test them
          * Some tools

4. Discussion, Summary

Other topics not covered in the general seminar material, but possible to
include in in-house seminars

- Test Process Improvement

- Combining testing and inspections, how inspections can save time and budget

- Evaluation of software to be bought

- Web application testing

- Usability testing

- How to recruit test people and how to keep them

- Defect and failure statistics and learning from defects

- Checking your supplier's test

- Test Documentation (IEEE Standard 829)

And there is more. Please ask!


Contact me at hans.schaefer@ieee.org.
Back to my homepage

You might also like