|
CRESTS assembly software testing
Embedded application plays a very important role in our national
defence industry. Owing to the history reasons, a great part
of developments of embedded softwares adopt with assembly
languages, which softwares have large scales and good effects.
We are very rich in both the achievements of assembly softwares
and the experiences of developments and applications on assembly
softwares, however since so long time, software testing tools
for solving practical problems especially ones aiming at analysis
and testing of assembly languages, are very lacking. Traditional
testing of assembly codes are usually achieved in the way
of handiwork in China, and in which way the effects and efficiencies
are both very bad, also not intuitionistic, nonstandard, unable
of reappearance, meanwhile with careless mistakes and hidden
troubles. So this way is not very convictive yet. Anyway optional
tools for solving practical problems are very limited.
For meeting our domestic customers¡¯ urgent requirements
for testing of assembly applications, BAJT has been cooperating
with overseas companies actively and learning their advanced
software testing products and technologies, also independently
developed CRESTS/ATAT(computer real-time embedded software
testing system/assembler testing and analysis tool) software
with the functions of unit testing, integration testing, system
testing, software analysis and testing system of coverage
testing and function testing aiming at Intel 8013/8051,8096/80196,
80x86, DSP TMS320,C3X/C4X and Mil-1750.
Since the appearance of CRESTS/ATAT, it has achieved good
applications in debugging and testing of assembly application
softwares in the fields of military industry, national defence(e.g.
aviation; spaceflight and etc.), which also effectively guaranteed
the qualities of assembly softwares.
At present, CRESTS/ATAT has built the running environments
of assembly application programmes by the means of assembly
instruction simulation, CPU environment simulation and external
events simulation and so on. Under this condition, assembly
language programme simulation running, code debugging, code
analysis(including code rules checking), code testing, external
events simulation, CPU field configuration and report have
been generated. This is quite important, at the beginning
of designing, before the real hardwares turn out or they are
unable to be got by the evaluators, and under the circumstance
of changeability in designing, software upgrade and application
maintenance. The working way of CRESTS/ATAT has been accepted
by vast customers. Of course, the biggest advantage of the
way is no necessary of inserting stub for testing assemblers
and without occupying hardware resources. As for assembly
languages are low-level languages, which are very weak in
structurization; and not a complete evaluating method is existing
for the quality of assembly languages. CRESTS/ATAT has been
providing meta-text graphics measurement methods of circle
complexity of Mccabe, programme jump number, programme fan-in/fan-out
number, programme noting rate, programme transferring and
structure transffered discription, programme noting rate and
rules checking of programmes.
Assembler programme static state analysis functions provided
by CRESTS/ATAT have given us the guarantee of ration method
for assembler quality qualitative analysis. The interface
I/O of CRESTS/ATAT and self-programming simulation function
brought by interrupting events make testing assemblers running
continuously and uninterruptedly just as the same as real
hardware environments under CRESTS/ATAT simulation running
environments, although existing massive requirements of interface
data I/O and the appearance of interruption events. This self-programming
simulation function has perfectly solved assembler closed-loop
testing problems under the environments of simulation running.
At present there¡¯s no existence of analogous products
home and abroad yet.
CPU self-programming configuration ability of context field
has met the requirements of assembler unit testing. Customers
can make the configuration of CPU context field nimbly and
conveniently, thereby form the drive of assembler unit performance.
Testing cases of testing assemblers can completely be compiled
and managed with TCL script language. CRESTS/ATAT interface
I/O, self-programming simulation function brought by interrupting
events and self-programming configuration ability of CPU field
context, which provide customers the methods of ¡°black
box¡± testing and unit testing. So CRESTS/ATAT is an
assembler testing analysis software with powerful functions
and fargoing coverage, which are completely meeting the requirements
of inner testing of developing period and front-period testing(or
non ¨Clocale testing) of checking and accepting period;
also providing testing side, tested side and superior director
unit with the testing report including reliable and redivious
testing process and testing problems.
As for CRESTS/ATAT has been developed independently by our
company, we are very willing and easy to customize, amend
and add the functions of customers¡¯softwares, moreover
providing the best after service.
At present, CRESTS softwares have the following functions:
1). Assembler simulation running
Support CPU instruction aggregation , instruction succession
and time interruption (stimulation, response, disposal and
return) simulation
Simulate interrupting stimulation events by amending the value
of CPU special register; simulate interface input by amending
interface value, or realize the appearance of external interrupting
affairs and interface input simulation by programming with
TCL script language.
2).Code debugging
Break-point management functions of supporting break-point
setup, clearup, listing and so on.
One-foot running of running function support programmes, continuous
running and forcible interruption of continuous running, observe
and amend codes, datum, registering and so on, make computer
instruction counter-assembly, support instruction performance
tracking.
3).Code analysis
Support the generation and performance of all the assembly
subprograms transferring chart, control flow chart and flow
outline chart.
Support most kinds of measurement elements¡¯ generation
of McCabe Halstead, programme shifting number, programme transferring
depth and so on.
Provide programme transferring and transferred information.
4) Code testing
Support unit testing, system integration testing , white box
and black box testing, and support testing results accumulation.
Support coverage rate statistic and generate graphics words
and graphics display with constrast feature.
Provide time speciality and running efficiency of all the
assembler code programme running.
5) Generate hypertext(including the information and link of
static state analysis and dynamic testing results and statistic)
testing report.
Anyway, according to vast customers¡¯ expectation and
the requirements of markets and applications, BAJT would like
to complete the existing softwares functions and meanwhile
develop new products, including supporting mainstream CPU,
developments for advanced languages, validations cooperating
with softwares and hardwares.
CRESTS/ATAT Functions:
CRESTS/ATAT provides effective and uniform cooperation platform
for assembler testing, under which assembler simulation running,
code debugging, code analysis, code testing and report forming
are realized.
CRESTS/ATAT not only differentiates testing and debugging
work, but combines testing ability with debugging ability
effectively, which make the uniform platform exert more powerful
functions; also regulating assembler testing process, effectively
eliminating randomicity, uncertainty and unreappearance in
the past testing process, and accordingly making the evaluators
do the testing work with high efficiency and good order for
assemblers themselves.
As for assembly languages are low-level languages, which are
very weak in structurization; and not a complete evaluating
method is existing for the qualities of assembly languages.
CRESTS/ATAT provides meta-text graphics measuring methods
of circle complexity of Mccabe, programme jumping number,
programme transferring depth, programme length, programme
volume, risk recursion transferring and so on.
|