It's not possible to use \ifthenelse in an \edef; Martin's approach will only defer the evaluation and so the \edef does only expansion of #1 (which might be what you want).
In order to test if an argument is empty, the safer test is
\if\relax\detokenize{#1}\relax
<empty>
\else
<not empty>
\fi
One can also define a "TF" variant:
\makeatletter
\newcommand{\ifEmptyTF}[1]{%
\if\relax\detokenize{#1}\relax
\expandafter\@firstoftwo
\else
\expandafter\@secondoftwo
\fi}
\makeatother
and then your code can become
\newcommand{\testing}[1][]{\ifEmptyTF{#1}{Blank}{#1}}
An "expanded" version can be obtained with the help of \pdfstrcmp (called \strcmp in XeTeX):
\usepackage{pdftexcmds}
\makeatletter
\newcommand{\ifExpandedEmptyTF}[1]{%
\ifnum\pdf@strcmp{#1}{}=\z@
\expandafter\@firstoftwo
\else
\expandafter\@secondoftwo
\fi}
\makeatother
(pdftexcmds defines \pdf@strcmp to do the right thing independent of the typesetting engine used).
For example \ifEmpty{\empty} will evaluate to false, while \ifExpandedEmptyTF{\empty} will evaluate to true, given that \empty is defined by
\def\empty{}