Showing posts with label testing. Show all posts
Showing posts with label testing. Show all posts

Thursday, April 26, 2012

The Ten Minute Test Plan

Great idea from James Whittaker, Test Director at Google. Inspiring read, want to see if we can put this to good use:
http://goo.gl/Tocgs

SQA: The Oracle Problem

Testing involves examining the behaviour of a system in order to discover potential faults.

The problem of determining the desired correct behaviour for a given input is called the Oracle Problem. 

Since manual testing is expensive and time consuming there has been a great deal of work on automation and part automation of Software Testing. However, the problem of automating the Oracle remains a bottleneck that inhibits progress in increased automation for test effectiveness and efficiency.


source

Tuesday, January 24, 2012

"mimeomorphic" actions?

Discovered a brilliant site on the art and science of software testing: developsense.com

Encountered a new word while reading about the nature of testing on this blog: "mimeographic."

The usual define: mimeomorphic google query didn't yield the usual dictionary/wikipedia definition, so had to look around a bit more.

Google searches led to connections to AI and perhaps even phenomenology! The terms, "mimeomorphic action" and "polimorphic action" seem to have been coined in a computer science book:


Collins, H. M.; Kusch, M., (1998) The Shape of Actions: What Humans and Machines Can Do , Cambridge, Mass: MIT Press.
This book develops and explores the idea of polimorphic and mimeomorphic actions in great detail following on from the initial distinction which was explored in Artificial Experts and then called regular actions and machine-like actions. Cases dealt with include bicycle riding, love-letter writing, writing in general, McDonalds and the mechanisation of air-pumps.
(source)

More info from scrounging around the Net:
What can humans do? What can machines do? How do humans delegate actions to machines? 

Polimorphic actions (such as writing a love letter) are ones that community members expect to vary with social context. Mimeomorphic actions (such a swinging a golf club) do not vary. Although machines cannot act, they can mimic mimeomorphic actions. Mimeomorphic actions are thus the crucial link between what humans can do and what machines can do.
(source)

 And finally from the point-of-contact website itself (developsense.com):
In The Shape of Actions, Collins and Kusch describe key differences between two kinds of intentional human actions that they call mimeomorphic and polimorphic. In both words, “morph” refers to shape, or form. “Mimeo-” refers to copying. (The grey-haired among us may remember that stencil printing machines used to be called mimeographs.) Mimeomorphic actions are actions that we want to do the same way every time, almost as though we were machines. Collins and Kusch use the example of a golf swing, a kind of action in which we want to eliminate variation and emphasize precision, regularity, and smoothness. “Poli-” is a pun, referring to two similar-sounding Greek roots. The Greek word polys refers to many, much, or several. The Greek polis—a different word entirely— literally means the city, so Collins and Kusch use “poli-” to emphasize the collective and diversified nature of human actions. Polimorphic actions are naturally and appropriately variable, and are rooted in social and human interactions and goals. Conversation is a canonical example of polimorphic action.
(source)

Tuesday, November 17, 2009

awk: parse a conf file having "a=b" entries

Given a config file (i.e. a text input file to a test) containing "A=B" key/value pairs like the one below:

[root@mttf ~]# head authPerf.conf
domain = mttf.appfwk.net
testidentity = appfwk1
identityNameTemplate = test
password = abcabc
adminpassword = abcdef123

PROBLEM: How can I get the RHS of each "="? In other words, how can I get the values of 'domain', 'testidentity', 'password' etc?

SOLUTION: use AWK!
[root@mttf ~]# grep "domain" authPerf.conf | awk  -F= '{gsub(/^[ \t]+/ , "", $2); print $2}'
mttf.appfwk.net

Saturday, February 7, 2009

watchShutdownLogs.pl

I wrote this little script that really helps with testing dynamic store loading:

INVOKE AS:
watch -n 2 --differences=cumulative 'perl /root/watchShutdownLogs'



#!/usr/bin/perl


@fileList = `find /usr/local/pi/hosting/data/*/config/shutdown.pinode.conf`;
foreach $x (@fileList)
{
$x =~ m/data\/(.+)\/config/;
$y = $1;
print "$y \n";

printFile($x);
print "\n";

}


sub printFile
{
my $filename = $_[0];

open( FILE, $filename ) or die "Can't open $filename : $!";

while( ) {
if (m/store/)
{print $_;}
}

close FILE;
}