Test Equipment Product Line Josh Bowen Capstone Project
Test Equipment Product Line Josh Bowen Capstone Project - 2009 Presentation 2
Outline l l l l Overview of Project Vision Project Plan Requirements Architecture Test Plan Executable Prototype
Action Items from Presentation 1 l l Add narrative to Vision Document Add use cases for product line use Add explanation of factory concept (Architecture Document) Quality Metrics – Demonstrate testing infrastructure (Prototype)
Project Overview l Develop Sample Product Line Core Assets – – l Demonstrate Product Line Process Produce Significant Prototype Fulfill Requirements of Capstone Project
Vision l l Vision. E. doc The vision document was updated to include narrative of functioning product line Includes description of domain, product line concept, customers, important qualities Provides entry point and scope to project
Project Plan l l l . . Project Plan-0. 2. doc Specifies work products for each phase Provides timeline for project, highlights planned vs actual schedule Shows that project is significantly behind schedule Completion dates will need to be extended, attempting completion by the end of September 2009
Requirements l l l Requirements. C. doc Filled in requirements for subsystems Continued Use Case -> Requirements style Includes requirements for both product line and implemented core assets Includes Features Survey along with calculation of implemented features
Formal Requirements l l l Created formal specification of domain with UML and OCL Used USE tool Formal. Requirements. doc Created document detailing the process of creating the model Created tests for each restriction and included tests in Test. Constraints. cmd Demonstration
Architecture l l Majority of time spent in this milestone has been creating/testing the architecture View-0. doc , Views. doc Divided document into two documents to demonstrate “View Packet” technique Used SEI SAD template and “Views and Beyond” method
Architecture l Using architecture to provide 1. 2. 3. 4. l l Documentation of design decisions Communication within development group Communication to customers and implementers Basis for design analysis and optimization Architecture is > 100 pages with 6 views Difficult to keep architecture consistent and complete “SAD should be up-to-date but not TOO up-to-date”
Test Plan l l l Document specifies when/who/how/why testing occurs Relies heavily on unit testing Specifies importance/thoroughness of testing increases as product approaches qualification Unit tests are demonstrated in prototype Unit testing will need to be supplemented with user testing, however, focus should be on unit testing for the core asset development
Executable Prototype l l Demonstration Common. Architecturebi nReleaseCommon. Architecture. exe Following slides include screen shots, these will be used off-line. Presentation will include execution of actual prototype
Main Page l l l Main page provides navigation to the rest of the application. Testing is inactive until self check completes without errors. Utilities allows for less used functions to be separated from main flow.
Configuration Files l l XML configuration files are used to configure – Tester – Parts Configuration file can be split into separate files for ease of editing. Put into file structure based on the executable location so that the entire program can be moved without installation. Provision made for new nodes, provides extensibility on top of the required and optional nodes l l l l l l l l l <? xml version="1. 0" encoding="utf-8"? > <Tester> <AMNumber>AM 1001</AMNumber> <AMSuffix>101</AMSuffix> <Nomenclature>PT 1001</Nomenclature> <Part. Location>Parts</Part. Location> <Results. DB Type="Access"> <Data. File>. . Results. mdb</Data. File> <Connection. String>Provider=Microsoft. Jet. OLEDB. 4. 0; Data Source=. . Results. mdb; User Id=admin; Password=; </Connection. String> <Data. Directory>c: Results</Data. Directory> </Results. DB> <Devices> <Device Type="DMM"> <Name>DMM 1</Name> <Address>GPIB: 1</Address> </Device> <Device Type="Counter"> <Name>Counter 1</Name> <Address>GPIB: 2</Address> <Device. Command ID="Start. Counting"> <Command. String>CNT: STA 1000</Command. String> </Device. Command> <Device. Command ID="Stop. Counting"> <Command. String>CNT: STP</Command. String> </Device. Command> <Device. Command ID="Get. Count"> <Command. String>CNT: RTV? </Command. String> <Type>Query</Type> </Device. Commands> </Devices> </Tester>
Testing Parameters l l Notice use of base form to provide consistent UI Implements an interface so that form can be overridden
Test Run Inspection l l l Provides verification of parameters before testing starts. Will require customization for most testers Easy customization by providing an overridable method to set contents
Testing l l l Multiple Testing Forms available by setting configuration options, no need for creating custom code. Most elements optional, though ABORT button required Separate thread from testing, provides responsive UI
Devices Utility l l l Uses forms assigned to tabs as controls Controls instruments in the tester directly Allows for generic or custom forms for controlling instruments
Factory l l l Uses singleton factory concept for creating custom subsystems Allows for. exe to replace a subsystem within a. dll without recompilation of the. dll. Requires unit tests to assure that the replacement subsystems adhere to the interface l l l Shared Sub Main() CTACore. Factory. Set. Part("Part. A", New Part. A()) CTACore. Factory. Set. Part("Part. B", New Part. B()) CTACore. Factory. Set. Test("Coil. Resistance", New Part. A. Test. Coil. Resistance) CTACore. Factory. Set. Test("File. Count", New Part. B. File. Count. Test) l CTACore. Factory. Set. Device(New DMM, "DMM") l CTACore. Factory. Set. Testing. Form(New CTACore. frm. Testing. TS) l l l Dim My. Tester As Tester = Factory. Get. Tester() If System. IO. File. Exists(Application. Startup. Path & "Tester. Settings. xml") Then My. Tester. Load. Settings(Application. Startup. Path, "Tester. Settings. xml") Else My. Tester. Load. Settings("C: ", "Tester. Settings. xml") End If Dim Main. Form As frm. Main. Form = Factory. Get. Main. Form() Main. Form. Set. Tester(My. Tester) Main. Form. Show. Dialog() End Sub
Unit Tests l l l NUnit used to provide testing in prototype Final product will (hopefully) use Team System Three sets of unit tests to be created 1. 2. 3. Interface testing Qualification testing Metrics testing
- Slides: 20