The TL;DR of a battery tester is to simply measure the amount of Amp-hours a battery has. All I have to do is discharge the AA battery against a known resistor, measure the voltage (which implies a specific current), and then keep time while doing so.
---------
Design Overview:
* Surface Mount design -- My first time. Oooohhhhh boy. Lets hope I don't screw it up too bad when the parts come in. I did a bit of chip research, and "good" chips are all surface mount. The newest ATmega328pb is surface-mount only. I can't even find a buck-converter with better than 80% efficiency unless I go surface mount. I'll aim for the larger 0805 American (2012 Metric) passives. I hear they're easier to solder.
* Planning on just a 2-layer board.
* 4x AA Batteries to power ("5V" Rail for OpAmps). Portable Design!
* Buck Converter to 3.3V (3.3V Rail)
* 1x AA Battery under test
* ATmega328pb as the Microcontroller
* * External 2.048V Reference (The internal 1.1V reference wasn't enough)
* * 32678 Hz "Watch" crystal oscillator for timekeeping
* * PWM at 500kHz (4-bit control from 8MHz master clock).
* * Controls 16x2 Character Screen, Power Down button, 4x AA Low Voltage Test, misc GUI features
* TS27M2 Dual OpAmp on 5V rail -- One OpAmp for a 3-pole Low Pass 5000Hz Bessel Filter (Cheap DAC), One OpAmp to control Battery-under-test current. Maybe the TS27M4 so that I have a 8-pole anti-alias filter for the AtMega's ADC.
* Precise +/- 1% Low Ohm (0.4 to 0.5 Ohm) Resistor for a test load. Doubles as the "current sense resistor"
I do a lot of coding at work. The code looks a bit tedious, but straightforward if I'm reading the AtMega's datasheet correctly. The most complicated part will be programming all of the I2C interrupts so that my 16x2 Character screen actually is useful.
So the vast majority of my worries was figuring out how to create a control-scheme to vary the voltage / current of the battery under test. I had to pull out a bunch of OpAmp books, but I think I understand how it works now. And thus, this analog simulation is my most proud accomplishment in this project:

I technically have a mixed-signal design: I have digital circuitry (the 16x2 screen, PWM, and a noisy buck converter!), and analog circuitry (filters, op-amps, and the ATmega's "analog side" with ADC converters measuring the various lines). Indeed, the ATmega328pb itself is trying to facilitate mixed-signal design since it has 3 Vcc pins! Two of them for the digital stuff, and an isolated "AVcc" for the analog stuff (AVcc feeds the ADC converter, and there's a sleep-mode that cuts off power to the digital-side of the ATmega).
So I've been learning a bit about ferrite beads, decoupling capacitors and whatnot, I'd like to do the best I can when I start laying out the board.
--------
Ultimately, this project is large enough to be non-trivial, but still looks simple enough for me to accomplish. 4-ICs (Buck Converter, The 16x2 Screen, the ATMega328pb, and the OpAmps), approximately 3 buttons, and a bunch of passives. Should be good enough for a beginner, right?