TWILIGHT ZONE – Part Deux

Well, the recovery from my ghastly QA Epic Fail has been just as WEIRD as the original problem. First of all, when our BA mentioned “Criteria 1” he was talking about the main gist of the change — driver age was still getting populated with the age at the time of exposure creation and not the age at loss. I scoured the code in GitHub and the code my coworker added was just a bunch of loggers to troubleshoot HIS issue with his code, so that wouldn’t affect anything with my code.

My long-suffering coworker who’s been helping me out (let’s call him Mentor #2) had me bring the March Branch into my local (I KNEW this was going to happen), take the payload from our BA’s claim, and plop it into my JUnit test to see which age would appear.

To back this up a bit, the payloads created by our process, that are fed into the integration jobs, have changed format. I was able to escape using these last time by using an older claim for my JUnit tests—no such luck this time, as our BA had created this new claim just for his testing. I had several false starts where the damn JUnit test just didn’t work with the new payload format. Mentor #2 had to dial in for a meeting, so left me to my own devices, telling me to keep trying. After cursing and swearing that the damned payload was a bust, and that he had NO IDEA what he was talking about, and why on earth did they have to change the damned format, and…

…and then I saw it. Yours truly forgot to change the JUnit code to use the claim and policy for the BA’s claim—mine was still in there. Once I fixed this, the JUnit test ran like a Swiss watch…and wouldn’t you know, the correct age popped out! So, the issue wasn’t my code. Seeing that our BA originally created his claim February 4, I decided to take a chance that this might have been a system glitch—especially seeing as my coworker had had his code issue around the same time. Following the QA test scenarios, I created two more claims from the UI. This morning, I checked the final payload that goes to the next system, and again…I got the correct age.

SO, what happened? My tech lead believes it may be due to our BA running his tests before the test Spring Batch cycle ran, but my code was there on January 27 and worked just fine. I checked the output for the Spring Batch Build for Monday and the result said “UNSTABLE,” so perhaps something happened that effected our code.

For now, I’m going to lay low…but I think I’m going to need to keep running my tests every time this code hits a new test region and production.

User Story TWILIGHT ZONE…

I’m sorry to inform the masses that I’ve had my first user story QA FAIL. It happened with my Spring Batch jobs. Our BA, who’s testing my story, informed me via Rally that “Criteria 1 failed.” I’m not sure if that’s the first scenario in the user story; or he’s referring to the main criteria, where driver age needs to be the Date of Loss and NOT the age at the time of the exposure date or the current date age. Honestly, I tested the bejesus out of this thing in JUnit testing, and once we pushed it to the test environment I did more testing and checked to see that the correct age was making it to the outbound file—the damned thing WORKED, without a doubt.

I’m not sure what happened. I checked GitHub and there was some sort of change in one of the jobs I altered—tomorrow I have to figure out what the change was, who changed it, and when it was changed. I know one of our other developers had an issue where his code wasn’t working, either, and it was in the SAME job—now whether the change is affecting me or his change to FIX his issue is affecting me, I’m not sure. Previously, I ran his JUnit tests along with mine before I pushed my changed code and neither of our changes had an issue then. Weirdly, whatever changed didn’t alter my actual code change—it’s still in GitHub. If my code didn’t change, then the only thing I can think of is that perhaps someone altered/redefined date of loss in some way…

Unless I can figure this out by eyeballing it, I’m probably going to have to bring the entire March branch into my local and debug to see where the error pops. Maddening.

Build and Deploy!

…or how pushing one button can quickly mushroom into utter confusion.

The good news is that I managed to work through yet another impossible user story. I had some invaluable help from a coworker, who showed me how, in Gosu, to figure out what is being brought into a pcf file, variable-wise, and how to leverage this, by connecting to other fields in the file and join to other files arrive at the field values I needed. He walked me through one example, where I was able to start from the claim file, keep hitting the period, and scroll down until I arrived at the field I needed, and do a string “contains” to spike out the values I needed to filter on. I did the next example by myself and managed to get it! I also learned about the “has match” function. I still have more work to do as I need to use this same method for payments by check, manual check, ACH, etc., but at least I’ve got the logic figured out and the basic code.

The bad news is that my builds and deploys to the lower environments for our area have been less than successful. We all take turns, for each release period, and our agile team was next. The first few times went well (unless you want to count that unfortunate incident where I built TWICE), but yesterday all hell broke loose. Another team in another area, using the same environment name for their deploy, interfered with us, causing everything to be…well, there’s no other way to say it—an EPIC FAIL. Production Support toiled over this and had me rerun the build and deploy, but when I had to log off at 6:00 p.m. it STILL wasn’t working right. My manager isn’t too concerned, as she figures it’s a lower environment, and we can try again Monday.

In other exciting news, I got together with my former Code Academy peeps for dinner last night! Many of us work together in the same office, but we hadn’t really all connected in a while. We went to a huge arcade/sports bar place that had fantastic food. I attempted to do the basketball toss, but failed miserably—I do better in our grandsons’ driveway. We had a fun time, and it was so nice to catch up.