Testing the JCOP Framework

Testing the JCOP Framework

Testing The JCOP Framework Paul Burkimsher October 2010 What is the JCOP Framework? • You should know that by now… ;-) • It’s been around a while but is of course being maintained. – The problem with maintenance is you can fix one bug and introduce another. – Same for upgrading… • => Need for Regression testing – Does the original bit still work like it did yesterday? 2 Regression testing • Is boring, repeating the same tests every day – so we automate it. • We have taken a very top-down approach. We pretend to be a user clicking on buttons, manipulating the DEN, declaring devices… • We write Python programs which fire up PVSS panels, press buttons, type in field values… 3 4 How do we do it? • Use a GUI testing tool called “Squish” from a German company. • We chose Squish because ETM chose Squish for their own GUI testing… 5 Squish is powerful • I agree with the salesman : • It is flexible – You can run Squish on Windows and test • Fw components also running on Windows or • Fw components running remotely on Linux – It supports several programming languages. I chose to use Python (I’m not a Java, Perl or Tcl fan) • It is easy to use – You can record mouse movements and keystrokes to get your initial scripts 6 Powerful, but • Squish itself is being developed intensively – Not ever so stable (presumably they test it :-P ) • PVSS is changing underneath. ETM try very hard to keep the look and feel the same, but their implementation underneath changes – If the computer clicks on qt_go button and its name changes to qt_start, you’re screwed. • Qt is changing underneath (and PVSS is built on top of Qt) • … a lot of running fast to just stay still 7 How does it work? • I defined a sequence of Test Suites (Python programs): – suite_createCleanPut (“ProjectUnderTest”) – suite_installFwInstallationTool – suite_installFwComponents – suite_exerciseAnalogDigitalComponent – suite_exercise CaenComponent • tst_createCrateSy127; tst_createCrateSy403 • tst_createCrateSy527; tst_createCrateSy2525 – suite_exerciseWienerComponent – suite_exerciseTrendEditorNavigator 8 How does it work – II ? N AUT Background (Application Python Script e or t Under Test) w uses Qt Python Script o in IDE r Special qt.dll k get interpreted Squish Runner Squish server by (interpreter - client) 9 • How do you know its worked? 10 • It gets to the end without breaking? • You can put assertions in the Python code • You can inspect the output 11 What is the output of the DEN? – DPs and hence .dpl files – We compare the produced .dpl file with an “expected” .dpl file. – NB You have to remove the timestamps and Dp Ids from the .dpls first. 12 How do we communicate results? • Produce log files at every stage. • Squish produces an XML summary of the assertion results (and provides an html translator) • We create an email with this info and send it to all the JCOP authors whose components are being tested 13 Nightly email 14 Email (cont) 15 Further work • More tests • More software version combinations (PVSS 3.9 etc) • Fully automate the test across to Linux • Code coverage in the scripts 16 Questions ? 17 18.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    18 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us