El siguiente entrenamiento es sobre el programa para la creación de aplicaciones de prueba de Keysight Technologies TestExec y las ventajas que ofrece la versión 8.1 del mismo - threaded sequence
5. Page
Execution Mode
TestExec SL 8.1 5
3 Execution Modes will be introduced in this new threaded sequence feature:
• Sequential – All threaded sequences run in sequential mode.
• Batch – All threaded sequences start at the same time.
• Asynchronous - Prompt Dialog to select Sequence. User decide when a threaded
sequence starts to run. Threaded Sequences may start and stop independently from
each other.
6. Page
Batch Model
The batch model is used when a group of UUTs need to be tested at the same time. All the UUTs start
and complete testing at the same time.
Start
Enter Batch Serial Number
Enter UUT1
Serial
Number
Enter UUT2
Serial
Number
Enter UUTn
Serial
Number
Start Testing
UUT1
Start Testing
UUT2
Start Testing
UUTn
Test 1
Test 2
Test n
Test 1
Test 2
Test n
Test 1
Test 2
Test n
Batch Synchronization
(Wait for all UUTs to complete)
Generate
Report
Another
Batch?
End
NO
YES
Test
Window
The batch of UUTs reside
in the same test fixture.
TestExec SL 8.1
Page
6
7. Page
Parallel Model (Asynchronous Testing)
The Parallel Model is useful when testing multiple UUTs independently. Tests may start and stop
independently of each other.
Start
Synchronize and Initialize Instruments
Enter UUT1
Serial
Number
Enter UUT2
Serial
Number
Enter UUTn
Serial
Number
Start Testing
UUT1
Start Testing
UUT2
Start Testing
UUTn
Test 1
Test 2
Test n
Test 1
Test 2
Test n
Test 1
Test 2
Test n
Generate
Report
Generate
Report
Generate
Report
Next
UUT?
Next
UUT?
Next
UUT?
End End End
The parallel process is very useful
for independent test fixtures.
TestExec SL 8.1
Page
7
8. Page
Asynchronous Testing
TestExec SL 8.1 8
Multithreading will be done at Sequence level. That means several sequences will run at the
same time in different threads. All statements (tests, testgroup, assignment, if else, for loop, etc)
in the threaded sequence run in sequential. The existing threaded tests feature will still be
available in “Main” and other normal sequence.
! [SeqOne]
test SeqOneTest 1
test SeqOneTest 2
If InterfaceParms.Int1 = 10 then
test SeqOneTest 3
end if
…..
test SeqOneTest N
! [SeqTwo]
test SeqTwoTest 1
for SequenceParms.Var1 = 1 to 3 step 1
test SeqTwoTest 2
end if
test SeqTwoTest 3
test SeqTwoTest 4
…..
test SeqTwoTest N
! [SeqThree]
SequenceParms.SeqParmInt = 22
testgroup Group33
test SeqThreeTest 1
test SeqThreeTest 2
end testgroup
test SeqThreeTest 3
…..
test SeqThreeTest N
Throughput Multiplier setting can be set for every threaded sequence. Each threaded sequence can be run for all
UUT positions or a specific UUT position only.
10. PageTestExec SL 8.1 10
Threaded Sequence
Threaded Sequence is the new sequence added where it allows different sequences to be run at the same time.
Non-Threaded Sequence is the user defined sequences prior to TestExec SL 8.1
11. Page
Threaded Sequence with Throughput Multiplier
TestExec SL 8.1 11
Throughput multiplier is applied to the testplan
itself, including threaded sequence gets it.
User has a choice to turn on or turn off
throughput multiplier for each threaded
sequence at the Testplan Options.
13. Page
Example
TestExec SL 8.1 13
SeqOne –
UUT1
An example: For a testplan with 3 UUT positions, Sequence “SeqOne” will be run for 3 UUT
positions. Sequence “SeqTwo” will be run for once without any UUT position (No UUT).
SeqTwo – No
UUT
SeqOne –
UUT2
SeqOne –
UUT3
14. PageTestExec SL 8.1 14
Execution Mode: Sequential
All threaded sequences will run sequentially. Start
End
SeqOne –
UUT1
SeqTwo – No
UUT
SeqOne –
UUT2
SeqOne –
UUT3
15. PageTestExec SL 8.1 15
Execution Mode: Batch
All threaded sequences start at the same time.
Start
SeqOne –
UUT1
SeqTwo – No
UUT
SeqOne –
UUT2
SeqOne –
UUT3
End
16. PageTestExec SL 8.1 16
Execution Mode: Asynchronous
Run
?
Run
?
Run
?
Run
?
Start
Dialog
End
SeqOne –
UUT1
SeqTwo –
No UUT
Yes
No
Yes
Yes
No
Yes
SeqOne –
UUT2
SeqOne –
UUT3
No
No
A dialog will be prompted where user may choose to start a threaded sequence.
Sequence may start and stop independently from each other.
After the dialog is closed, the testplan will stop.
17. PageTestExec SL 8.1 17
Asynchronous – Prompt Dialog to select Sequence
A dialog will be prompted out where all the threaded sequences inside the
“SequenceGroup” will be listed and the user may choose the sequence to run by
pressing the Run button.
After this dialog is closed, execution will continue at the next statement after this “end
SequenceGroup” statement.
18. Page
Threaded Sequence Call
TestExec SL 8.1 18
SeqOne, SeqTwo, SeqThree are
threaded sequence, SeqNormal is
non-threaded sequence.
TestExec SL will implement a
prefix “Thread:” in front of
threaded sequence to distinguish
them, e.g. Thread:SeqOne
Only threaded sequence
can be called by
sequencegroup.
19. PageTestExec SL 8.1 19
Threaded Call Options
In Threaded Call,
• In the “Options” page,
throughput multiplier is enabled
for the Threaded Sequence that
enables multiple UUT. This
selection is not enabled for
Threaded Sequence without
multiple UUT.
• On the call parameter page,
different UUT can select different
Call parameters
20. Page
Global Symbols
TestExec SL 8.1 20
Global symbols need to be locked to avoid crash.
For threaded sequence, global symbols are symbols in System, SequenceLocals and TestplanGlobals.
Testplan:
• Threaded_Sequence.tpa
21. Page
Failure Counts
TestExec SL 8.1 21
Failure Counts
• In Threaded Group, the failure will count only on the thread itself and when failure count
is hit, it will stop the thread itself to continue.
• In Testplan Option, this treats the counts as a global variable. If any part of the testplan,
including the threaded count is hit, it will stop the testplan from continuing.
• In throughput multiplier, the failure count will only affect the UUT itself.
Testplan:
• HaltOnFailureCount.tpa
• HaltOnFailureCount_TM.tpa
22. Page
Timeout
TestExec SL 8.1 22
For timeout, in any case, the timeout will let the thread to complete as killing the thread itself
is consider dangerous. And depending on which Timeout Behavior selected, it will behave
accordingly.
• ONLY in Asynchronous mode, if the Timeout Behaviour selected is Prompt timeout
dialog, it will not prompt any timeout dialog as it will be confusing. It will act like
“Generate Exception”
Testplan:
• TimeOut_TM.tpa
23. Page
Sequential Call
TestExec SL 8.1 23
Sequential Call (scall) is used to call another threaded sequence from a threaded sequence. The scall will
call other threaded sequence sequentially, like the normal call statement.
All the SeqAlpha, SeqBeta, SeqOne, SeqTwo, SeqThree, SeqFour, SeqFive are threaded sequence.
24. Page
Sequential Call – How It Works?
TestExec SL 8.1 24
SeqAlpha, SeqOne, SeqTwo, SeqThree have UUT while SeqBeta, SeqFour, SeqFive have no UUT.
Condition: Threaded Sequence with UUT can only do scall to threaded sequence with UUT, while the
threaded sequence with NO UUT can only call threaded sequence with NO UUT.
28. Page
Parallel Testing (comparing with previous version)
TestExec SL 8.1 28
UUT1 UUT2
DMM1 DMM2
• Prior to TestExec SL 8.1, to run 2 DMM
in parallel, we use threaded test and
waitthread statement.
Testplan:
• Dmm_2UUT_80.tpa
• Dmm_2UUT_81.tpa.
• In TestExec SL 8.1, threaded sequence
can be used to run 2 UUTs.
• Both should use the same time to complete. ~9 seconds.
29. Page
1 Test only Testing UUT1
TestExec SL 8.1 29
UUT1 UUT2
DMM1 DMM2
Option # 1: Put onto Main Sequence and
only run once independent of UUT, inside
the test select DMM1 only.
Option # 2: In threaded sequence, use IF
statement.
NOTE: in a threaded sequence with UUT, test settings such as “SetSkip”, Ignore this test”, “On fail
Brach To” in 1 UUT will applied to other UUTs.
Testplan:
• Dmm_2UUT_81_Single.tpa
• DMM_2UUT_81_IF.tpa.
30. Page
2 UUT 1 DMM
TestExec SL 8.1 30
UUT1 UUT2
DMM1
Like previous version of TestExec SL, locking needs to be implemented to ensure that while DMM1 is
accessing UUT1, its resource will not be grab by UUT2.
This will run as sequential, hence test time is same as sequential testing.
31. Page
4 UUT 2 DMM
TestExec SL 8.1 31
UUT2 UUT4
DMM2
2 DMMs can help to improve throughput of the testplan.
Test result: 18s for batch mode, 36s for sequential mode
UUT1 UUT3
DMM1
33. Page
Datalogging
TestExec SL 8.1 33
Sequential and Batch – Log file will be produced at the end of the testplan.
Different log file will be saved for different UUT.
Asynchronous – Prompt dialog to select sequence – Log file will be produced
at the end of the sequences. Different log file for different UUT. If there are
other statements at Main, another log file will be saved at the end of the
testplan.
34. Page
Exception
TestExec SL 8.1 34
Sequential - Exception that happen will stop execution. The Exception Sub will be
executed and the testplan will stop.
Batch - The threaded sequence that causing the exception will stop to execute. Other
threaded sequence will run to end and the Exception Sub will be executed. Then the
testplan will stop.
Asynchronous – Prompt dialog to select sequence – The threaded sequence that
causing the exception will stop to execute. Its Run and Stop button will be disabled.
Other threaded sequence will be able to run as usual. When the prompted dialog is
closed, the Exception Sub will be executed and the testplan will stop.
35. Page
Operator UI
TestExec SL 8.1 35
New APIs and Events will be added to support this Threaded Sequence feature.
Sequential and Batch – Testplan will run from start to the end. User may press Stop
button to stop the testplan or Abort button to abort the testplan.
Asynchronous – Prompt dialog to select sequence – User may customize the prompt
dialog in OpUI and use the APIs to inform TxSL whether the customized prompt dialog will
be used. When the Start button is pressed, the testplan will start to run and if user choose
to use the customized prompt dialog, an event will be sent to OpUI when the testplan
reached the SequenceGroup statement and the customized prompt dialog will be
displayed. APIs will be available for user to customize the buttons on the prompt dialog,
such as Run, Stop, Close etc.
36. Page
Operator UI: Asynchronous
TestExec SL 8.1 36
TxSL
OpUI Main UI
Run Stop Abort
Load
Testplan
OpUI Prompt Dialog
SeqOne
SeqOne
SeqOne
Sequence Name
SeqTwo
Uut Pos
UUT1
UUT2
UUT3
No UUT
Select
Variant
Exit
Run
Run
Run
Run
Stop
Stop
Stop
Stop
Close
38. Page
Sequence Conversion Tool
TestExec SL 8.1 38
A tool to convert a normal sequence to a threaded sequence will be
provided. The tasks below will be performed during the conversion:
1. Disable all threaded tests.
2. Discard all UUT settings, only left UUT1.
3. Call statements: a pill for warning