Final Presentation

advertisement
Industrial Project 234313
Advanced Tool for Automatic
Testing
Final Presentation
Students: Nadia Goshmir, Yulia Koretsky
Supervisor: Shai Rozenrauch
Introduction
o RADAR (Remote Analysis Diagnostics and
Reporting) is a system developed in Philips in order
to control the CT scanner performance in the
installed base.
o The monitoring results are verified by V&V
(Verification & Validation) engineers semimanually;
the testing coverage is rather low and its results
strongly depend on the human resources.
Goals
o The goal of this project is to create automated
testing environment which will allow
configuring numerous scenarios, run them
automatically and report the testing results
without a human intervention.
Goals (cont.)
o The tool will receive a set of parameters for predefined
tests, run them sequentially through the CT RADAR
(simulator) and generate reports of the comparison results.
In case a test did not pass, display an explanation if exists.
o Advanced: interface (UI) for the users to add new tests
and parameters easily.
o Delighter: Support tests for Trends (based on several days
for each test)
Methodology
o Tool written in c#
o Microsoft’s .NET Windows form was used to create the UI
o Multithreading was used to enable run tests simultaneously.
o Microsoft SQL server were used to store all entered tests and
their runs.
o SQL queries and XML analyzer was used to compare the
expected values (which were entered by the user) and the actual
values received from updated DB or XML file
o A tool called “FullPathGenerator” is used to run the log files
(which were selected by the user) through the processes
o Crystal Report was used to create the final report of the test
Achievements
An efficiently
working tool, that
addresses all initial
requirements and
user needs.
Flowchart
7
Achievements (cont.)
o Ui (advanced) - a friendly environment for the user to
create and run tests (in a batch mode) easily.
Opening windowallows the user to
choose whether to
create a test or run
old tests.
Achievements (cont.)
If user chooses to create a new “MultiTest”, he enters a window where he
can choose the log files (each single file considered as “Test”) that will be
tested. The user can choose a single test, multiple or persistent tests. In
the persistence option, the log files are chosen by range of dates or by
range of zips. The tool finds all the relevant files in the chosen range. The
user can also enter attributes such as name or group that will be attached
to the test, and can be used on test’s search.
Achievements (cont.)
o
After the user chose the
files that will be tested, he
enters to a window in
which he can enter for each
log files the expected
values, stroll between the
files back and forth. when
finish entering the
parameters he can either
run the test or only save it
for future run. Both of the
options save the test in the
DB.
Achievements (cont.)
• If in the beginning user
chose to run old test, he
enters a “Saved Tests”
window where all the
multiTests that were
saved in the database are
shown. User can run
multiple multiTests of his
choice, remove them, edit
them (automatically
enters the “new Test”
window where all the
fields already loaded) and
filter them by attributes.
Achievements (cont.)
o Final Report- by the
end of a test run, in
case of failure, a
detailed report is
created, demonstrates
all the failed parts: the
multiTests that failed,
for each one - the tests
that failed, for each
test– the exact
parameters that were
mismatched and its
expected value vs.
actual value.
Achievements (cont.)
o Low Complexity - when a (multi)test is run, all the
files that were chosen are sent to the DFL. Once all
are sent, a polling starts, we check in the DB whether
the Radar updated the DB, or an XML file has
arrived. When one of them occurs, a new thread is
created for running the compare DB/XML
respectively regardless of the other tests. Therefore
many tests run simultaneously and independently.
Locks were used for synchronization.
Achievements (cont.)
o Easy future development - the tool is programed to be
as object oriented as possible. Future additions can be
very easily conducted due to the virtual base classes.
Achievements (cont.)
o Trends support (Delighter) – tool supports “Persistence
test”. User can choose multiple zips, they are sorted, and
sent to the DFL in the right order. That way the Radar can
analyze them properly and a test of this sort can be run as
expected.
o Batch mode support – user can create tests during the day,
can choose in the “Saved Tests” window all the tests he
want to run (hundreds) and go home, in the morning a
detailed report will be expecting him. If a test fails due to
unexpected reason there is an exceptions handling that
won’t ruin the whole run, and will allow it to finish.
Achievements (cont.)
o Database - All the tests and runs are stored in the DB
o Documentation - User manual
Developers manual
Inline documentation of the code
Conclusions
o A design is a crucial part when working on a
large program, well worth the time invested.
o All sides involved should be coordinated.
o The course is a good way to gain experience
with “real” software projects, get familiar
with a project’s life-cycle and learn how to
conduct oneself in a team.
The end
Download