e9944cc13d1072d4a9df5dd6744d09e7.ppt
- Количество слайдов: 32
Rational Developer Tools Eelco Essenberg, Goran Begic Rational Technical Support Rational Software
Rational Developer Tools Agenda § § On Methods: how this fits in RUP What’s OCI anyway? The Tools: Purify, Quantify, Pure. Coverage Automated build testing • The Purify Team’s Build Model § Developer Tools Tips and Tricks
Rational Unified Process
Software Development Process
What is OCI anyway? • OCI: Object Code Insertion • Rational “Engine” adds checking instructions in compiled code • Process called “Instrumentation” • Creates instrumented copies of executable & libraries
What is OCI anyway? w OCI on Windows (and IRIX): works on executables
What is OCI anyway? w OCI on UNIX (Solaris, HP-UX, Reliant Unix): at link time
The Tools: Purify, Quantify, Pure. Coverage w 3 tools with different purposes w Purify & Pure. Coverage can be used at the same time w On the road to becoming a single product
The Tools: Rational Purify w Run-time error detection § § § Detects run-time errors and memory usage errors Full Visual Studio integration JIT debugging, embedded in VS and stand-alone OCI – does not require special builds Java support (as of next release) Custom usage through the set of Purify API functions
The Tools: Rational Quantify w Application performance analysis § § § § Full Visual Studio integration Supports Visual C++, Visual Basic, Java (J++ and Sun Java 2) OCI for measuring time Timing methods – user, user+kernel, elapsed time Custom usage through the set of Quantify API functions Call graph – visual representation of time Merge and compare data from different runs
The Tools: Rational Pure. Coverage w Code coverage analysis § § § § Full Visual Studio integration Supports Visual C++, Visual Basic, Java (J++ and Sun Java 2) OCI, does not need source files Custom usage through the set of Coverage API functions Full Rational Purify integration Full Rational Robot integration Cumulative coverage from several runs
Automated builds w An automated build procedure gives you control over important aspects of the software production process § Build reproducibility § Automated component integration § Automated software packaging w Automated Builds give you the ability to measure changes at a much finer granularity than if you have a free-for-all • Coverage • Performance
The Build Model: Common Source Changes Build Farm Source
The Build Model: Testing as a first-class component Source Changes Test Changes Build Farm Components Tests Source Test Farm
A Good Build Model Source Changes Baseline Delta’s • Tests • Diagnostics • Performance • Coverage Test Changes Build Farm Components Test Farm Acceptance Results Tests Source Coverage Data Error Profile Performance Data
Developer Tool Features for Automation w Command-Line interface w Output Files and Export Data
Features: Command-Line w Rich command-line interface: w <toolname> <tooloptions> myprogram. exe w Tool Options include: • /Save. Text. Data, /Save. Data • /Run=no • /Replace
Features: Command-Line w Unix variant: suppress the GUI w “-windows=no” w Various save options, ability to call scripts w Easy to integrate in Makefiles, scripts, testharnesses
Features: Output Files and Export Data w Purify: § Purify Data Files (. pfy) and Text Files w Quantify: § Quantify Data Files (. qfy/. qv) § Tab delimited text files w Pure. Coverage: § Coverage Data Files (. cfy/. pcv) § Tab delimited text files § Automerge files
Features: Output Files and Export Data w Coverage text data file imported to an Excel sheet:
The Purify Team’s Build Model Source Changes Baseline Delta’s • Tests • Diagnostics • Performance • Coverage Test Changes Build Farm Components Test Farm Acceptance Results Tests Source Coverage Data Error Profile Performance Data
A Build System w Automated everyday procedure: § § § Reboot Start Perl script Build the Tools Run Developer Tools against Developer Tools Scan test results Send E-mail with the results
Opportunities w These tools enable several new opportunities for development teams § Increase the quality of the product § Get metrics data about the build system § Process changes based on the availability of qualitative measurements § Save time and money
Summary w Periodic builds are an important component of a quality software development process w The build process necessarily includes automated testing w Quantify, Pure. Coverage and Purify have features that allow them to integrate with customer defined processes w Use of these tools can help build and release better software faster and cheaper
Dev. Tools tips and tricks w Visual Studio Setup § Compiler and Linker settings w Dev. Tools settings § Some power user settings
Visual Studio setup w Recommended compiler options § /Zi, /Od, /MD w Recommended linker options § /fixed: no § /incremental: no § /pdbtype: con
Tips: Purify Settings w. Power. Check™ : Control over the amount of error checking Purify does
Tips: Pure. Coverage Settings w. Power. Cov™ : Control over the amount of Code Coverage Pure. Coverage does
Filters w Purify Filters Quick. Filter
Tips and Tricks: Unix w Compile with “-g”; do NOT strip w Use OS-native threads w Avoid the bleeding edge: gcc 2. 95 w Be very careful with OS and compiler patches
Questions? © 1998, 1999, 2000 Rational Software - All rights reserved
Eelco Essenberg eelco@rational. com Goran Begic gbegic@rational. com Thank You! © 1998, 1999, 2000 Rational Software - All rights reserved
e9944cc13d1072d4a9df5dd6744d09e7.ppt