You are on page 1of 31

AUTOMATED HARDWARE TESTING

USING PYTHON

Name

: YUVARAJA RAVI

Reg No : 13PEES1005
course

: M.TECH EMBEDDED
1

NAME

YUVARAJA.R

REGISTER NUMBER

: 13PEES1005

LANGUAGE

: EMBEDDED C & PYTHON

PROJECT INCHARGE

K.Bhaskar B.Tech., M.E.(Ph.D)

ABSTRACT
Design a Embedded Prototype test hardware
interact with Python software shows
presence of defects in UUT. Python test
script can download the test cases to the
target system one by one, receive test
output, compare with specifications then
verify it, and generate log files. Log files
inside test steps results are stored as
PASS/FAIL.
Its a cost effective test system for SS
Electronic hardware manufacturers
3

TESTING
Testing

is an organized process to
verify the behavior, performance,
and reliability of a device
It ensures a device or system to
be as defect-free as possible
Testing is a manufacturing step
to ensure that the manufactured
device is defect free
4

HARDWARE TESTING
A

common test platform (CTP), also called an


open test standard (OTS), is a set of specifications
defining test methods for diverse components of
computer and electronic systems to be marketed
as complete products. The intent of a CTP is to
ensure consistency in hardware and software test
procedures from the conceptual and design
phases through manufacture and distribution.
Computers, computer peripherals and electronic
systems often contain complex devices, circuits,
programs and interfaces. These must all work
together in a variety of applications and
conditions. A CTP can be part of an overall quality
assurance program. A common standard can
reduce the cost of test equipment, optimize the
use of available test equipment, increase

EXISTING SYSTEM
Testing

is carried out manually by test


engineers. Consuming a lot of time and
effort huge for spending the time for testing.
NI Lab View designing a ATE .But
measurements are taken by reputed
instruments or NI PXI only
PXI HW and its software is huge amount.
Certified engineer only able to access the
software
Add-on software needed for Test case and
Report generation .
6

PROPOSED SYSTEM

To overcome the existing problem, we construct


Embedded hardware test module to measure the

Resistance test applied to signal traces (short/open)

Voltage /current measure with help of analog pins.

IO pins used to trigger the on/off or control the hw.

Protocols testing are done by the test hardware.

Tested data packets serially communicated to the


Python scritps

Python scripts collect the complied data's then


compare with test case input and generate the test
reports..
7

PROJECT ENTIRE SYSTEM

PYTHON
TEST
GUI

DEVICE
UNDER
TEST

SERIAL INTERFACE

EMBEDDED TEST HW
DESIGN
Atmega

8-bit AVR controller used for Embedded


Test Hardware system.
Necessity to test the every protocols chips,
Analog and Digital IC.
Current, Voltage and Resistance measurements
using 10bit ADC
I2C >> | TEMP | EEPROM | SENSORS | DEVICES |
UART >> RS232 <<
RS485 >> 75176-IC <<
RS422 >> 75176-IC <<
9

HW DESIGN VOLTAGE ,CURRENT &


RESISTANCE MEASUREMENT
Voltage

measured by using AVR


Controller 10bit ADC
Current measurement taken by
ACS712 Current sensor IC.
Constant current probing to the
voltage net through voltage
divider circuit. Impedance
measured by the ADC.
10

HW DESIGN PROTOCOLS TESTING-I2C


I2C(Inter-Integrated

Circuit, pronounced "I


squared C") is also a synchronous
protocol.I2C uses only 2 wires, one for the
clock (SCL) and one for the data (SDA). That
means that master and slave send data over
the same wire, again controlled by the
master.

11

HW DESIGN PROTOCOLS
TESTING-UART / SERIAL
Serial

communicationis the process of


sending data one bit one by one sequentially,
over a communicationchannel.
UART communication of Full duplex TX and RX
communication through the COM devices.

12

HW DESIGN PROTOCOLS
TESTING RS485
RS-485

allows multiple devices (up to


32) to communicate at half-duplex on a
single pair of wires, plus a ground wire
(more on that later), at distances up to
1200 meters (4000 feet)
RS485 Differential communication
through A <-> B Signal lines.

13

HW DESIGN PROTOCOLS
TESTING RS422

Serial, balanced and differential are the keywords for


the RS422 interface standard. Serial means, that the
information is sent bit by bit on a single transmission
line, just like with RS232. Balanced differential is what
makes RS422 different from RS232

14

SW Design - PYTHON
Python

is a clear and powerful objectoriented programming language,


comparable to Perl, Tcl and Java.
Its a FOSS Programming language.
Runs on many different computers
and operating systems: Windows,
MacOS, many brands of Unix, OS/2
Python Code can be grouped into
modules and packages
15

SOFTWARE DESIGN - PYTHON


An

open source software used to


Automate the Hardware Testing

UNITTEST

modulesupports test
automation, sharing of setup and
shutdown code for tests, aggregation
of tests into collections, and
independence of the tests from the
reporting framework.
AUTOMATED HARDWARE TESTING

16

UNIT TEST MODULE CONCEPTS

Test Fixture : It represents the preparation needed to


perform one or more tests, and any associate cleanup
actions. This may involve, for example, creating
temporary or proxy databases, directories, or starting a
server process.

Test Case: is the smallest unit of testing. It checks for a


specific response to a particular set of inputs.Unit test
provides a base class,Test Case which may be used to
create new test cases.

Test Suite: Test suiteis a collection of test cases, test


suites, or both. It is used to aggregate tests that should
be executed together.

Test Plan: Test planis a document detailing the


objectives, target market, internal beta team, and
AUTOMATED
HARDWARE TESTING
processes for a specific betatestfor
a software
or

17

SW Development Flow

AUTOMATED HARDWARE TESTING

18

Requirements & Test Case


Relationship

AUTOMATED HARDWARE TESTING

19

UUT Code Sample


Def ScaledInput(data):
rc = NO_ERR

Function code getting one input argument

scaled_data = data
if data >= DATA_MIN and data <= DATA_MAX:
scaled_data = (data * data_scale) + data_offset
if scaled_data > SCALE_MAX:
scaled_data = SCALE_MAX
rc = ERR_MAXSCALE
elif scaled_data < SCALE_MIN:
scaled_data = SCALE_MIN
rc = ERR_MINSCALE
else:
rc = ERR_OVER
return (rc, scaled_data)

Function Returning two o/p values

AUTOMATED HARDWARE TESTING

20

Function with argument code


table

A unit test is constructed such that all


possible inputs are used to force the
execution to traverse all possible paths.
In the case of ScaledInput(), we can see
that there are three obvious input test
cases. Too low,
Too high,
Within range.

AUTOMATED HARDWARE TESTING

21

Test Case Function Flow


chart

AUTOMATED HARDWARE TESTING

22

Test Step Flow Chart

AUTOMATED HARDWARE TESTING

23

PYTHON SCRIPT
TEST CASE
Each automatic test case
contains assigned Python
script that is executed by
Executor application. Figure
presents general flow chart
for writing automatic scripts for
functional testing.
24

PYTHON TEST RESULT

25

ADVANTAGES
Boards,

components and interface cable


separately tested in modes of test case.
Manual testing has been reduced
Locating the Hardware(components)
and software bugs using test reports.
Low Cost (Pursuing softwares are Open
source)
Reduced human efforts

26

DISADVANTAGES
Embedded

controllers are single


task at a instant. So measuring
data goes to the pc with delay.
Output data packets compared
with test case help of Python
Script. So report generating time
taken more.
27

CONCLUSION

Automatic

hardware testing using Python is


a ATE technique to increase throughput
without a corresponding increase in cost, by
performing tests on protocols are handling
and test without error. It has been shown
quantitatively to reduce test cost more
effectively than low-cost ATE. Because it
reduces all test cost contributors, and not
only capital cost of ATE.

In this paper, we described the AHT using


python strategy adopted for hardware
testing and protocols testing without
measuring instruments .

28

FUTURE ENHANCEMENT
In

this project in future we can


add a FPGA or CPLD used to get
the data packets at instant of
time without delay.

Parallel

Testing method
introduces to test the multiple
boards at same instant time.
29

BASE PAPERS

[1] Jambunatha, K .,Design and implement Automated Procedure to


upgrade remote network devices using Python, Advance Computing
Conference (IACC), 2015 IEEE International, Bangalore, June 2015.

[2] Karmore, S.P.; Mabajan, A.R., Universal methodology for


embedded system testing., Computer Science & Education (ICCSE),
2013 8th International Conference on Year: 2013,IEEE Conference
Publications, 26-28 April 2013

[3] Kovacevic, M.; Kovacevic, B.; Pekovic, V.; Stefanovic, D.,


Framework for automatic testing of Set-top boxes.,
Telecommunications Forum Telfor (TELFOR), 22ndYear: 2014

[4] Kim H. Pries, Jon M. Quigley-Testing Complex and Embedded


Systems-CRC Press (2010)

[5] Python Programming Language, URL http://python.org/.

30

THANK YOU

31

You might also like