Wednesday, July 28, 2004

Model Based Testing

Model Based Testing – An Introduction

In this article I will attempt to give a brief overview of Model Based Testing (MBT) and provide links to help you dig in for more details. I have been increasingly getting more and more fascinated (obsessed?) with this paradigm, which I believe holds great promise for the future of the software testing discipline. Hope to rub some of that passion for MBT on to you.

MBT is an approach in which you define the behavior of a system in terms of actions that change the state of the system. Such a model of the system results in a well-defined Finite State Machine (FSM) which helps us to understand and predict the system’s behavior. For e.g. when working with a model of a car, the action of “press accelerator” has a different result depending on whether the state of the car is “neutral” or “drive”.

The biggest MBT take-away from a testing perspective is that any test case that you define is really just a traversal of the model that you have of the system – either an explicitly defined one or the one in your head. Generating test cases thus boils down to traversing this state machine. MBT is therefore especially useful for automatic generation of test sequences from the defined model. Various graph theory algorithms can be employed to walk this graph (e.g. shortest path, N-states, all-states, all-transitions etc.). The best part is that when you are using a good MBT tool, you do not need to know or dig into all this graph theory all the time. Simply define the states, actions, transitions etc. for your model and click a button to start generating tons of interesting test cases.

Model based testing offers a lot of benefits, some of which I list here. I shall expound on some of these in later posts.

1. Forces detailed understanding of the system behavior

2. Early bug detection (which is much cheaper)

3. Test suite grows with the product

4. Manage the model instead of the cases (useful when features changing constantly).

5. Can generate endless tests (since test cases are machine generated)

6. Resistant to pesticide paradox

7. Find crashing and non-crashing bugs

8. Automation is cheaper and more effective

9. One implementation per model, then all cases free (test code is better enabled for changes).

10. Gain automated exploratory testing

11. Testers can address bigger test issues

Any other benefits that you think it brings to the table? I would love to hear from anyone actually using model based testing outside of Microsoft, and what their experience has been using MBT.

If I had to recommend just one and only one short introduction to Model Based Testing in order to sell the idea and get you hooked to it, I would point to this paper, Intelligent Test Automation, by Harry Robinson, which appeared a few years ago in the STQE magazine (which I believe has morphed into the Better Software magazine). Interestingly on this page, Harry has put up the 2-file state model of the example in the paper and also a Chinese Postman traversal for the model.

Here is an extensive list of technical papers related to model based testing that can help you dig into the details and the theory behind this super powerful testing paradigm.

One great publicly available tool you can use for Model Based Testing is Abstract State Machine Language(ASML) produced by the Foundations of Software Engineering(FSE) group Microsoft Research(MSR). You can actually have executable specifications with ASML, so when your Program Manager generates the functional specs, you can simply execute that spec and generate test cases directly from the spec. Buckle up - The future is here (almost)!

Friday, July 23, 2004

Women Now Change your Biological Clock

The Extend Fertility Process

Extend Fertility provides the opportunity to capture a woman’s healthy, “young” eggs and preserve them for potential use in the future. At Extend Fertility, we have the leading fertility science and technology on our side. We are committed to providing the safest, most effective and convenient fertility preservation methods every step of the way.

The first step in the process is a Reproductive Health Assessment that includes a blood test to measure Follicle Stimulating Hormone (the chemical that stimulates the production of eggs) and an ultrasound to ensure normal ovary activity.

If a medical professional determines that you are a good candidate for the procedure based on the results of these tests, you may begin the egg-harvesting process. You start by priming your body to produce 10-20 eggs in that month's cycle by self-administering daily hormone injections for about 10 days. This is a proven and safe technique that is utilized in more than 100,000 fertility treatments annually.

At the end of the priming process your eggs are harvested at an Extend certified clinic through a non-invasive outpatient procedure performed under local anesthesia with sedation. The procedure takes 30 minutes, and recovery time is a few hours.

Once the eggs have been harvested, our scientists use the most advanced cryopreservation techniques available to preserve them. Unlike sperm or embryos, unfertilized eggs are in a delicate stage of cell development and especially subject to damage during cryopreservation. In the past, clinics have attempted to freeze eggs using the same techniques for freezing sperm or embryos — a flawed approach that has not yielded meaningful success rates. Our specialized methods are proven for freezing unfertilized eggs.

The frozen eggs are then transported by a certified medical transportation company to our specialized cryopreservation facility, where they safely remain until you decide to use them.

If and when you decide to use your preserved eggs, we work in partnership with renowned fertility specialists to embark on the fertilization process: thawing the eggs and then following a standard in vitro fertilization (IVF) cycle using a partner’s sperm to create and implant embryos to produce a pregnancy.


Source : http://www.extendfertility.com/

Now everyone can have an IP address

ICANN, the US body managing global website allocation, has announced a powerful new technology which makes it possible for every human being to have an Internet address.

This next-generation version of the Internet protocol, IPv6, provides trillions more addresses than the IPv4 system that is in use by most networks today," the Internet Corp. for Assigned Names and Numbers said in a statement on Wednesday.


The US Department of Commerce awarded ICANN the task of coordinating the Internet's naming and numbering system globally. Rapid growth in the use of World Wide Web had raised fears about a future scarcity of Internet protocol addresses

"By taking this significant step forward in the transition to IPv6, ICANN is supporting the innovations through which the Internet evolves to meet the growing needs of a global economy," said ICANN, which is holding its six-day annual conference in Malaysia.

"Every atom in the universe will now get an address. I don't see a problem with IPv6 running short of domain addresses," US Internet expert John Klensin told.

On the development of Internationalised Domain Names (IDNs), Klensin, the former chairman of the Internet Architecture Board, said there were serious technical problems in creating domain names in local language characters.

The problems include regional variations in characters in languages such as Chinese and the fact that some languages such as Arabic are written from right to left as opposed to left to right in English.

A Word About Fraud Celluar

Cellular fraud is defined as the unauthorized use, tampering, or manipulation of a cellular phone or service. Cellular industry estimates indicate that carriers lose more than $150 million per year to cellular fraud, with the principal cause being subscription fraud. Subscriber fraud occurs when a subscriber signs up for service with fraudulently obtained customer information or false identification.

In the past, cloning of cellular phones was a major concern. A cloned cellular telephone is one that has been reprogrammed to transmit the electronic serial number (ESN) and telephone number (MIN) belonging to another (legitimate) cellular telephone. Unscrupulous persons obtain valid ESN/MIN combinations by illegally monitoring the transmissions from the cellular telephones of legitimate subscribers. Each cellular telephone is supposed to have a unique factory-set ESN. After cloning, however, because both cellular telephones then have the same ESN/MIN combination, cellular systems cannot distinguish the cloned cellular telephone from the legitimate one.

In an Order, the Commission adopted a rule (22.919) requiring that all cellular telephones for which type acceptance is sought after January 1, 1995 must be designed such that the factory set ESN can not be reprogrammed. At the same time, the Commission stated that it considers any knowing use of cellular telephone with an altered ESN to be a violation of the Communications Act (Section 301) and alteration of the ESN in a cellular telephone to be assisting in such violation. The Wireless Telephone Protection Act (Public Law 105-172) was signed into law on April 24, 1998, expanding the prior law to criminalize the use, possession, manufacture or sale of cloning hardware or software.

The cellular equipment manufacturing industry has deployed authentication systems that have proven to be a very effective countermeasure to cloning. Authentication supplements the use of the ESN and MIN with a changing encrypted code that can not be obtained by off-the-air monitoring.

Electronic Serial Numbers and MEID

Definition: An electronic serial number (ESN) is the unique identification number embedded or inscribed on the microchip in a wireless phone by the manufacturer. Each time a call is placed, the ESN is automatically transmitted to the base station so the wireless carrier's mobile switching office can check the call's validity. The ESN cannot easily be altered in the field. The ESN differs from the mobile identification number, which is the wireless carrier's identifier for a phone in the network. MINs and ESNs can be electronically checked to help prevent fraud.


Mobile Equipment IDentifiers (MEID)

Definition: A Mobile Equipment IDentifier (MEID) is a globally unique number for a physical piece of mobile station equipment. Equipment identifiers are 'burned' into a device, and should be resistant to modification. An ESN type can be distinguished as a pseudo ESN (pESN) based on the first 8 bits ('manufacturer' code) as derived from the MEID using the SHA-1 algorithm to reduce a 56-bit MEID to a 24-bit ESN. The pESN codes are not unique, but will not match any UIMID or true ESN (tESN) because they have a unique manufacturer code of 0x80 (decimal 128). The ESN will migrate to the MEID with assignments anticipated to begin in the 2004 to 2005 timeframe.




NanoTechnology

This is basically for all the nano techs on the Earth and Mars...

I will be updating most of the Nanotech development thats currently going on ...as as we are aware that the world one day will see lots of nano stuff in terms of techonology ...


Keep posting

Cheers
Reds