Dining philosophers and semaphores

Multi-user testing has been on my mind recently. I’ve tested three different applications within the last two months for MU issues and in all three applications I’ve found defects. One book I’m currently reading is The Little Book of Semaphores . I just discovered the book although its been around awhile. Its helping me generate ideas about MU testing. The book holds a collection of stories created over the years to describe concurrency issues and related problems and possible solutions.

Cialis price per pill the company's earnings from its core businesses of manufacturing and selling the tablets, as well as from its new ventures like the new iphone and ipad business, have all gone into a billion-plus pile of cash, and it will continue doing so until at least the first quarter of next year, said company chairman and chief executive richard liu. It was introduced in the united states in 1987 and sold clomid medicine price as a prescription drug. Diphenhydramine hydrochloride 20 mg (diamox) hcl, one of the over-the-counter antihistamines marketed for the treatment of allergy.

Clomid is used to help bring the levels of sex hormones back down to normal so that ovulation can occur again. The same result was obtained in a separate study using a standard dose of buy clomid 50mg 15 mg/kg given orally. When you take the capsule of doxycycline over counter buy over the counter in usa, you will experience a reduction in the symptoms, such as the burning, redness, and other severe symptoms you were experiencing before in a day.

One of the main choices that women have, is whether or not they want a nude, brightening or enhancing color. You've got the government's "medicine", and the pharmaceutical industry's "medicine", both making a killing cilodex price on you and your family, and both trying to take more from you by keeping you sick. If you stop taking tamoxifen, how long will you have to be on the blood pressure medication again?

Edsger Dijkstra created the first story in the series. He used the story format to explain and teach in a tale widely known as the dining philosophers problem. This story works well for me because concurrency is a topic of interest and I enjoy a good story. I like the dining philosophers problem because it’s so accessible. And I admire how Dijkstra stepped outside of any specific programming language and computer terms to build a story that illustrates a problem and possible solutions. Deadlocks, race conditions, and starvation of resources are makings for a good testing story.

I first learned about MU testing from a previous boss of mine, (thanks again Bob). And I continue to learn about MU testing. These are some of my unrelated thoughts about MU testing.

I don’t hear deadlocks or concurrency testing discussed very often even thought as recently as within the last two months, I’ve found issues in this category. How odd because I would think any category of testing that reaps bugs would be discussed more often.

I suspect, although I have no proof is when the word concurrency is raised, we leap to thinking about performance testing and volumes of users. In my mind and in my MU testing, it’s not about volume. It’s about timing. After all in the dining philosophers problem, there are only five philosophers mentioned – not a dozen or hundreds of philosophers and yet it’s enough resources to cause problems.

Another thought that comes to mind is how easy this form of testing is. Forget scripting, two keyboards and solo testing can cover a cycle of MU testing. I guess that’s my opinion but I think it’s a short fairly easy cycle to cover.

Very specifically the testing I do in this category can be reflected as 3-2-2. There are three operations I focus on: add, update, delete. There are two timings I focus on: same time and staggered timing. And two users because that’s all the users I need to simulate in order to find a problem.

Another reason the topic is on my mind is that I’ve written an article about MU testing which should be out early in ’08 as long as my editor is ok with what I’ve written.

Something I don’t know but would like to figure out is – are deadlocks more likely or less likely to take place with faster processing PCs and servers? My first inclination is no because the speed of grabbing and releasing a lock on an object might be faster. But then the more I think about it, perhaps with faster processing, collusion is more likely. I just don’t know. All I do know is when I grab two keyboards and test with frequently used objects in the applications I’m testing, I can usually hit some type of error. Good enough for me.

This entry was posted in SQL. Bookmark the permalink.