Taking advantage of the Brainbench free test period, I've taken a bunch 
of their tests lately. Although I've scored well I've found the tests to 
be somewhat frustrating as a bunch of questions on each test seem to be 
flawed.

There are a couple of reoccurring patterns: questions where you are 
required to pick the least incorrect answer - in other words, all 
answers are technically incorrect; and questions where there are 
multiple correct answers, and the question provides insufficient 
criteria to favor one over another.

Perhaps this is an intentional way of constructing tests? The thought 
being that the person who knows the topic in-depth will be able to 
decipher the subtle differences. But if so, it seems like a deceptive 
approach. And I don't have that level of confidence in the test, instead 
  it leaves me wondering if the questions are just unintentionally flawed.

After seeing more and more questions of this nature, I started saving 
them. Brainbench provides a feedback form at the end of every tests, so 
I've been commenting on them.

Below are some of the questions from the Perl test that I thought were 
flawed. I'll post my thoughts on why I think they're flawed in a 
follow-up after others have had an opportunity to weigh-in.


   Which one of the following statements adds the directory ../lib to the
   library include path?

   Choice 1  @INC = (@INC, "../lib");
   Choice 2  @INC .= ':../lib';
   Choice 3  use lib qw(../lib);
   Choice 4  use path "../lib";
   Choice 5  shift (@INC, "../lib");


   What is a perl module?

   Choice 1  A perl module is a set of variables and functions grouped
             together in a block with the module statement.
   Choice 2  A perl module is a block of code in a separate file with a
             .pm extension.
   Choice 3  A perl module is a library of subroutines in a separate file
             with a .pm extension.
   Choice 4  A perl module is a package defined in a file of the same
             name with a .pm extension.
   Choice 5  A perl module is a package defined in any file with a .pm
             extension.


   Which one of the following prints the current time as a human-readable
   string?

   Choice 1  gmtime(time());
   Choice 2  use POSIX;
             POSIX::ctime(time());
   Choice 3  strtime(time());
   Choice 4  localtime(time());
   Choice 5  use POSIX;
             POSIX::localtime(time());


   Which one of the following regular expressions matches lines beginning
   with an integer followed by a period and a space?

   Choice 1  ^[0-9]*\.[ ]
   Choice 2  ^\d\.\s
   Choice 3  ^\d+\.[ ]
   Choice 4  ^\n.\s
   Choice 5  ^[0-9]\.\s


In addition to questions that were perhaps more difficult than intended 
due to their flaws, there were also questions that seemed unnecessarily 
easy. The test contained about a half-dozen questions of the form "given 
this sample code...what is the output produced by this program?," that 
could be trivially answered simply by pasting the sample code into Perl. 
While several of the questions involving sample code didn't include data 
or asked you to spot functional flaws in the code, these ones were 
offered up as complete runnable programs. For an "open book" test, these 
questions seem to test nothing but the user's ability to cut-and-paste 
from their browser.

If Brainbench's Perl 5.8 beta test is anything like this (hopefully 
having had Chris Nandor review it, it won't be), then they need lots of 
feedback. While most people probably have no interest in helping out 
Brainbench for free, it does provide some added benefit to the Perl 
community if the test is more effective. (Some may argue that the ideal 
is to have no test, but if that's beyond your control, a flawed test is 
worse.)

  -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/
 
_______________________________________________
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm

Reply via email to