Life of A Programmer — Session 7.5 — How Do I Become a Quality Assurance Software Engineer

November 21, 2014

RULE 4 — NEVER USE A PATCH TO SOLVE A PROBLEM.

Never patch the program!!!.

A patch is usually a last minute change which is not clearly
thought out.

The product delivery is usually close at hand.

Management is saying “All you have to do is …” (The most
dangerous phrase in the English Language).

The patch will probably violate RULE 1 (The strict use
of standard methods).

None-the-less, avoid the short-cut and you will more likely
find the solution to the problem.

MORE IN THE NEXT MESSAGE

The Experimental Process — Any One Can do It!

November 21, 2014

Many years ago, there was the HeathKit company.

It had for sale various electronics kits.

They sold amateur radio, television, instrumentation kits.

I bought my first personal computer from them. It was a Heathkit H89.

That computer was the beginning of my personal research effort.

This computer resulted in three overseas conference publications.

I have never taken any course in software engineering or electronics.

I have learned everything through an extensive experimental effort.

Would you believe it if I told you that every person knows how
to experiment.

No! Let me show you that it is true.

As soon as a baby gains enough strength to roll over and get his
tummy off of the floor, he crawls around and gets into things.

What does he do with them? He puts them in his mouth.

Did you ever think that a baby’s mouth is his best instrument at birth?

It has to be! Otherwise he won’t be able to eat.

You are not a little green guy from outer space.

You were once a baby. When you started to crawl, you put things
into your mouth.

Therefore, you basically know how to experiment.

I rest my case.

Life of A Programmer — Session 7.4 — How Do I Become a Quality Assurance Software Engineer

November 21, 2014

RULE 3 — USE OLD, WELL-TESTED, OPERATING SYSTEM CAPABILITIES.

Relative to the operating system, use the old, well established
capabilities and minimize your interface.

Think of it in a similar manner as purchasing a new car.
If you purchase a radically new model, you will become an
unwilling member of the test team.

Similarly do not use a pipe if a file will do as well. Files
were developed long before the pipes.

An above all, do not use its multitasking capabilities unless
absolutely necessary. This capability can expose you to many
challenging problems.

MORE IN THE NEXT MESSAGE

Prague Conference in 1987

November 21, 2014

In 1987, I presented a scientific paper at a conference
in Prague, Czechoslovakia.

At that time, Prague was a city in the territory under
control of the Soviet Union.

I have always performed my research on my own time and money.

I attended the conference on my vacation.

Needless to say, the other attendees were quite curious
about my personal research efforts.

During this time, I had an interesting conversation with
a Polish attendee while walking along the river:

POLISH ATTENDEE: We are not special.

MY RESPONSE: Being special is defined by what you do
to be the very best in your field.

POLISH ATTENDEE: We have no resources.

MY RESPONSE: Do you have a personal computer at your home?

POLISH ATTENDEE: Yes.

MY RESPONSE: Probably a better one than I have. My is
a Heathkit H89.

POLISH ATTENDEE: The bosses will not like it.

MY RESPONSE: Usually, the bosses don’t kill the goose
that lays the golden egg right away.

At this point he understood and I was effectively
“walking on water”.

You ask: why am I sharing this little bit of history
with you.

History is a great teacher and today we need to learn
this lesson.

Life of A Programmer — Session 7.3 — How Do I Become a Quality Assurance Software Engineer

November 18, 2014

RULE 2 — TEST ALL WORK PRODUCTS.

I was able to “look over NSA’s shoulder” when they were developing
SELINUX (Secure Linux Operating System”.

Their activity can be best described as “programming as usual”.

I asked them about their test plans. They said that they were not
going to test the system. It would be Common Criteria tested when
delivered.

This is not an adequate test plan. Testing all of the work-products
is the only way to thoroughly test the product.

Back in my hardware engineering days, we made test plans which
thoroughly tested each circuit board. Divide and conquer!

SELINUX will fall short of its intended goal. The bad-guys will
find the weak points.

MORE IN THE NEXT MESSAGE

Software Engineers are Quality Assurance Managers

November 18, 2014

Have you ever noticed that Quality Assurance, ISO-9001,
and the Deming Cycle is taught only in Business Administration?

I have found that when Quality Assurance was taught in Engineering
Schools, it was in Engineering Management Classes.

Is Quality Assurance just an Engineering Management Problem? Is
a Software Engineer a Quality Assurance Manager?

Computer Programs are special Deming Plans to be Done at the
client’s site by a computer not by a human being.

Software Engineers are, in reality, Quality Assurance Managers.
For the most part, they do not realize this fact.

WHATIFWE taught Quality Assurance, ISO-9001, and the Deming
Cycle to all Engineers in our Engineering Schools?

Life of A Programmer — Session 7.2 — How Do I Become a Quality Assurance Software Engineer

November 18, 2014

RULE 1 — RIGOROUSLY USE STANDARD METHODS.

Prepare a minimum set of standard methods that you will use on all your programming effort. Keep them “simple, stupid”.

In the hardware world, the Quality Assurance Manager working with management purchase the set of Integrated Circuits needed to get the job done.

These standard methods are your “Integrated Circuits”.

MORE IN THE NEXT MESSAGE

The Purpose of My Blog

November 18, 2014

The original purpose of my blog was to provide me an easy
means of reporting my activity on my personally funded
research and development activities on error-free software
development methods.

I subsequently expanded the purpose of my blog to encourage
others to improve their skills by conducting their own
regular experimental process.

I became a software engineer in 1966 due to an experiment
that I had performed. I have never taken a course in
Software Engineering. You are encouraged to take a similar
path. If my tools can be of any benefit, they can be
downloaded free-of-charge from my web-site, http://www.whatifwe.com

Open Source Software Development Tool Error

November 18, 2014

An Programmable Software Development Environment system error has been
discovered,

The WIN32 error message is as follows:

PCG ERROR: MacCert — 455
PCG ERROR: macproj — 2698
PCG ERROR: macproj — 315
PCG ERROR: devproj — 1400
PCG ERROR: mainprj — 1461
PCG ERROR: explrpde — 153

The LINUX error message is as follows:

PCG ERROR: MacCert — 474
PCG ERROR: macproj — 2717
PCG ERROR: macproj — 334
PCG ERROR: devproj — 1419
PCG ERROR: mainprj — 1480
PCG ERROR: explrpde — 172

MONDAY: 2014/11/17

STATUS: An examination of the precmac.cpp file reveals that none of the
software parts names were included in the computation in the pseudo
random parity. All of the commands contained in the software parts
were included this computation. The include files have no commands,

DETAIL: It will probably be necessary and desirable to include the
comments in the computation of the pseudo random parity for the release
version. It will probable also be necessary to include the test
sequence in the computation. The associated upgrade for the release
version is not needed to correct the associated system error and hence
will be considered later.

NEXT TASK: Start making the modifications to precmac.cpp needed to add
the software parts name (including the include statement) in the
computation of the pseudo-random certification parity bit.

Life of A Programmer — Session 7.1 — How Do I Become a Quality Assurance Software Engineer

November 15, 2014

To become a Software Engineer with a Quality Assurance
capability, you must implement a basic philosophical change.

Software is not an art form; the computer is not the easel
where you can express your creative juices.

You will become an engineer responsible for providing tools
and services that will affect public safety.

You think not. I beg to disagree.

I was transferring $1000 between my savings and checking
accounts when the ATM went down. It took the bank half a
day to find my money.

You ask, what do I need to do in order to improve my quality
and be more indispensable to my employer.

RULE 1 — RIGOROUSLY USE STANDARD METHODS.

RULE 2 — TEST ALL WORK PRODUCTS.

RULE 3 — USE OLD, WELL-TESTED, OPERATING SYSTEM CAPABILITIES.

RULE 4 — NEVER USE A PATCH TO SOLVE A PROBLEM.

MORE IN THE NEXT MESSAGE


Follow

Get every new post delivered to your Inbox.

Join 335 other followers