[I'm also assuming that $a,b >0$.]
Let $T_f(c,d)$ be the variation of $f$ on $[c,d]$. Suppose that $a\leq b$, we have
$$T_f(0,1)\geq \sum_{k=1}^\infty T_f(\frac{1}{\sqrt[b]{k\pi+\frac\pi2}},\frac{1}{\sqrt[b]{k\pi-\frac\pi2}})\geq \sum_{k=1}^\infty \frac{1}{(k\pi+\frac\pi2)^{\frac ab}}+\frac{1}{(k\pi-\frac\pi2)^{\frac ab}}=\infty.$$
Therefore $f$ is not bounded variation on $[0,1]$. Now we assume that $a>b$. Recalling that
$$
f'(x)=ax^{a-1}\sin(x^{-b})-bx^{a-b-1}\cos (x^{-b}),
$$ we may have $|f'(x)|\leq 2\max(a,b)x^{a-b-1}:=Mx^{a-b-1}$. By Lagrange mean value theorem, $\forall x<y\in(0,1]$, $|f(x)-f(y)|\leq M\left(\max_{t\in[x,y]}t^{a-b-1}\right)(y-x)$. From this we estimate
$$
\begin{align}T_f\left(\frac1{2^n},1\right)&=\sum_{k=0}^{n-1} T_f\left(\frac1{2^{k+1}},\frac1{2^k}\right)\\
&\leq \sum_{k=0}^{n-1}M\max\left(\frac1{2^{(k+1)(a-b-1)}},\frac1{2^{k(a-b-1)}}\right)\left(\frac1{2^{k}}-\frac1{2^{k+1}}\right)\\&<B<\infty,\end{align}
$$
with $B$ a positive number independent of $n$. Hence $f$ is BV on $[0,1]$.