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
[email protected]
http://mail.pm.org/mailman/listinfo/boston-pm