BRiP 2011 Conference Saturday, November 4, 2011, Outreach, IIT Kanpur byby.
UCAIug Testin g Subcommittee Boot Camp · – Explicit standards:standards: teststests...
Transcript of UCAIug Testin g Subcommittee Boot Camp · – Explicit standards:standards: teststests...
UCAIug Testing Subcommitteeg gBoot Camp
© 2011 EnerNex. All Rights Reserved. www.enernex.com
AgendaAgendaAgendaAgenda
Introduction to 3 UCAIug groupsIntroduction to 3 UCAIug groups
Testing Overview
Testing DetailsTesting Details
Development of a Testing Program
© 2011 EnerNex. All Rights Reserved. www.enernex.com2
Introduction to UCAIug groupsIntroduction to UCAIug groupsIntroduction to UCAIug groupsIntroduction to UCAIug groups
UCAIug – how did we get here?UCAIug how did we get here?
– MMS Forum ‐ 1993
– AEP Substation Initiative ‐ 1996AEP Substation Initiative 1996
– UCA2 Users Group ‐ 1999
UCA International Users Group – 2002– UCA International Users Group – 2002
Why did we get hereWhy did we get here
– Share experiences
P t d ti f d l i t d d
© 2011 EnerNex. All Rights Reserved. www.enernex.com
– Promote adoption of underlying standards
3
IEC 61850 Users GroupIEC 61850 Users GroupIEC 61850 Users GroupIEC 61850 Users Group
This was the start of UCAIugThis was the start of UCAIug
Started as protocol with a substation
Is now far more than a protocol a way of lifeIs now far more than a protocol, a way of life
Based upon MMS, ISO, TCP/IP
Defines conformance suites for various productDefines conformance suites for various product
Defines performance test for “GOOSE”
Created QAPCreated QAP
Has Certificate program without logo
© 2011 EnerNex. All Rights Reserved. www.enernex.com4
CIM Users GroupCIM Users GroupCIM Users GroupCIM Users Group
Second group to join UCAIugSecond group to join UCAIug
Large user group
Started as object database standardStarted as object database standard
Now deals with object transport
Based upon XML TCP/IPBased upon XML, TCP/IP
Defines interoperability suites for various use cases
Performs pre standards tests (verifies standardsPerforms pre‐standards tests (verifies standards BEFORE they are issued
Has no formal Certificate program
© 2011 EnerNex. All Rights Reserved. www.enernex.com
Has no formal Certificate program
5
Open Smart Grid Users GroupOpen Smart Grid Users GroupOpen Smart Grid Users GroupOpen Smart Grid Users Group
This is most recent entry to UCAIugThis is most recent entry to UCAIug
Has diverse user base
Device and enterprise componentsDevice and enterprise components
– Device : bits and bytes, RF signal strength, etc.
Enterprise : XML like CIM– Enterprise : XML like CIM
Based upon ZigBee (SEP), XML, TCP/IP
Will define conformance and IOP suitesWill define conformance and IOP suites
Has no programs complete at this time
© 2011 EnerNex. All Rights Reserved. www.enernex.com6
AgendaAgendaAgendaAgenda
Introduction to 3 UCAIug groupsIntroduction to 3 UCAIug groups
Testing Overview
Testing DetailsTesting Details
Development of a Testing Program
© 2011 EnerNex. All Rights Reserved. www.enernex.com7
Testing OverviewTesting Overview ‐‐ GoalsGoalsTesting Overview Testing Overview GoalsGoals
Why do we test?Why do we test?
– Expose latent defects in system
– Users expect error‐free systems in their applicationUsers expect error free systems in their application
– Vendors want independent validation
Sometimes: “Check the box”– Sometimes: Check the box
© 2011 EnerNex. All Rights Reserved. www.enernex.com8
Testing OverviewTesting Overview ‐‐ OutcomesOutcomesTesting Overview Testing Overview OutcomesOutcomes
What do we expect from testingWhat do we expect from testing
– Error‐free report: no problems found (bad?)
– Report showing areas needing improvementReport showing areas needing improvement
– Report showing failure of test (rarely issued)
© 2011 EnerNex. All Rights Reserved. www.enernex.com9
Testing OverviewTesting Overview –– Product typesProduct typesTesting Overview Testing Overview Product typesProduct types
Can test products or servicesCan test products or services
– Product: Identified unit with specific input/output relationship, typically at bits and bytes levelp, yp y y
– Service: Software with less well‐defined inputs and outputs, generally holding state informationp g y g
Why testing differs
– Product: stimulate UUT, verify response, y p
– Service: send context, verify response semantics
© 2011 EnerNex. All Rights Reserved. www.enernex.com10
Testing OverviewTesting Overview –– Test CasesTest CasesTesting Overview Testing Overview Test CasesTest Cases
What are test case sources?What are test case sources?
– Implicit standards: “… shall …”
– Explicit standards: tests specified by SDOExplicit standards: tests specified by SDO
– Industry Use Cases: “… Monitors system and issues …”…
– User use cases: Specific ways user operates system
– Vendor use cases: Regression testingVendor use cases: Regression testing
© 2011 EnerNex. All Rights Reserved. www.enernex.com11
Testing OverviewTesting Overview –– Test StepsTest StepsTesting Overview Testing Overview Test StepsTest Steps
Test procedures document: What will tester do?Test procedures document: What will tester do?
– Requirement for specific test step
– PreconditionsPreconditions
– Stimulus
Expected response (or range of responses)– Expected response (or range of responses)
– Verdict definition
© 2011 EnerNex. All Rights Reserved. www.enernex.com12
AgendaAgendaAgendaAgenda
Introduction to 3 UCAIug groupsIntroduction to 3 UCAIug groups
Testing Overview
Testing DetailsTesting Details
Development of a Testing Program
© 2011 EnerNex. All Rights Reserved. www.enernex.com13
Testing DetailsTesting Details –– Types of TestsTypes of TestsTesting Details Testing Details Types of TestsTypes of Tests
Conformance – does device/system match specConformance does device/system match spec
Pair‐wise IOP – does it work with a specific partner?
Standards‐vetting IOP – does the proposed specStandards vetting IOP does the proposed spec mandate unique solutions?
End‐to‐End IOP – does entire system work?End to End IOP does entire system work?
Ad‐hoc testing – for specific situations, does the system correctly perform its function?y y p
© 2011 EnerNex. All Rights Reserved. www.enernex.com14
Testing DetailsTesting Details –– Test ReportsTest ReportsTesting Details Testing Details Test ReportsTest Reports
What was testedWhat was tested
How tested (environment, test equipment, etc.)
Which tests executedWhich tests executed
Which tests not executed (and why)
Tester commentsTester comments
Overall verdict: pass or fail or inconclusive
© 2011 EnerNex. All Rights Reserved. www.enernex.com15
Testing DetailsTesting Details –– Test ExecutionTest ExecutionTesting Details Testing Details Test ExecutionTest Execution
Level of test specificationLevel of test specification
– Specify test procedureAllows innovation in test scriptingp gPossible differences between testers
– Define standardized test scriptspRequires specification of one test toolPublic tool requires much volunteer time to vet
Control of tests – ideally voted by User Group
– Reality – most users don’t understand tests
© 2011 EnerNex. All Rights Reserved. www.enernex.com16
Testing DetailsTesting Details –– User Group/SDOUser Group/SDOTesting Details Testing Details User Group/SDOUser Group/SDO
SDOs may have national/political agendasSDOs may have national/political agendas
Inherent struggle between groups
– SDO wants stability – stable standardsSDO wants stability stable standards
– UG wants flexibility – faster evolution
Both want appearance of stability for adoption– Both want appearance of stability for adoption
Implication upon testing
Test groups must be flexible when interpreting a– Test groups must be flexible when interpreting a standard
Sometimes deliberately violate written spec
© 2011 EnerNex. All Rights Reserved. www.enernex.com
– Sometimes deliberately violate written spec
17
AgendaAgendaAgendaAgenda
Introduction to 3 UCAIug groupsIntroduction to 3 UCAIug groups
Testing Overview
Testing DetailsTesting Details
Development of a Testing Program
© 2011 EnerNex. All Rights Reserved. www.enernex.com18
Test Program DevelopmentTest Program DevelopmentTest Program DevelopmentTest Program Development
Question before startingQuestion before starting
– What programs already exist/known to users?
– What is funding model?What is funding model?Test development
Test program maintenancep g
Test program administration
Logo / formal certificates?
– What can vendors afford? Testers?
– What problems are users seeing/testing needs
© 2011 EnerNex. All Rights Reserved. www.enernex.com19
Quality Assurance PlanQuality Assurance PlanQuality Assurance PlanQuality Assurance Plan
Need this as first stepNeed this as first step
– Define how testing process functions
– Defines defect feedback mechanismsDefines defect feedback mechanisms
– Defines quality systems needed by testers
Defines funding model for the testing process– Defines funding model for the testing process
– Defines conformance vs. IOP testing or both
Defines whether UG will contract work– Defines whether UG will contract work
This is the “business plan” for the testing group
G t t f f thi QAP
© 2011 EnerNex. All Rights Reserved. www.enernex.com
Get support from user group of this QAP
Iterate until users agree to plan20
UCAIug QAP ProcessUCAIug QAP ProcessUCAIug QAP ProcessUCAIug QAP Process
© 2011 EnerNex. All Rights Reserved. www.enernex.com21
Forming Testing GroupForming Testing GroupForming Testing GroupForming Testing Group
Seek volunteersSeek volunteers
Set realistic timetable, don’t overwork volunteers
Create real project plan too easy to fall behindCreate real project plan, too easy to fall behind
Avoid temptation of scope creep
Finish planned work unless completion makes no– Finish planned work unless completion makes no sense
Continue to seek volunteers until 1/3 completeContinue to seek volunteers until 1/3 complete
Add “unplanned” work at end
© 2011 EnerNex. All Rights Reserved. www.enernex.com22
Test Plan reviewsTest Plan reviewsTest Plan reviewsTest Plan reviews
Have user group periodically review test planHave user group periodically review test plan
– Don’t want a surprise after 6 months work
– Be willing to change to meet user needsBe willing to change to meet user needs
– Avoid temptation to satisfy minority of users
Ask question: “Is this what our industry needs?”– Ask question: Is this what our industry needs?
Upon completion of test plan, real work begins
© 2011 EnerNex. All Rights Reserved. www.enernex.com23
Test Procedure DevelopmentTest Procedure DevelopmentTest Procedure DevelopmentTest Procedure Development
Begin with highest‐level of suiteBegin with highest level of suite
– Example: Connects, authenticates, basic data
Break each of these into logical functionsBreak each of these into logical functions
– Example: Joins network, creates peer matrix
Break each function into individual testsBreak each function into individual tests
– Example: Join network using only default credentialscredentials
– Create both positive and negative tests
Break tests into test steps with stimulus/response
© 2011 EnerNex. All Rights Reserved. www.enernex.com
Break tests into test steps with stimulus/response
24
Practical ExamplePractical Example –– 6185061850Practical Example Practical Example 6185061850
Decided on lightweight process at startDecided on lightweight process at start
QAP:
– Write test proceduresWrite test procedures
– Accredit/monitor testers
Arbitrate disputes– Arbitrate disputes
– Post tester‐created certificates
Results: industry acceptance low cost to usersResults: industry acceptance, low‐cost to users
© 2011 EnerNex. All Rights Reserved. www.enernex.com25
Practical ExamplePractical Example –– CIMugCIMugPractical Example Practical Example CIMugCIMug
Decided on lightweight process at startDecided on lightweight process at start
QAP (informal):
– Only perform IOP testingOnly perform IOP testing
– IOP tests specific to each IOP
Results:Results:
– IOPs have found errors in pre‐IS IEC documents
CIM products are interoperable– CIM products are interoperable
© 2011 EnerNex. All Rights Reserved. www.enernex.com26
Testing OutcomeTesting OutcomeTesting OutcomeTesting Outcome
All stakeholders agree on testing processAll stakeholders agree on testing process
Testing is meaningful to the industry
Testing is cost‐effectiveTesting is cost effective
– Users view tested products as good “first step”
Vendors view testing as more than “check the box”– Vendors view testing as more than check the box
© 2011 EnerNex. All Rights Reserved. www.enernex.com27
QuestionsQuestionsQuestionsQuestions
© 2011 EnerNex. All Rights Reserved. www.enernex.com28