I’ve checked your file and there are some details in it that are not the way they are meant to be.
The “Process Test” action checks all questions, calculates the score and takes the user to the page with the results object. This means the action must not be on the same page as the results object, because the score and the other relevant variables from that the results are built won’t be ready in time and it can’t really move to the results page as it’s already there.
The action has to be on the last question page or on a page before the results page. That’s why Lectora adds a “Last test page” by default. You don’t have to keep this page but you have to add the action to the Next button or a “Submit test” button on the last question page. This Next button should not have a “Go to: Next page” action 😉
On the Results page is a button by default that goes to the next page. But this is not a normal “Go to” action and it won’t necessarily go to the next page. It goes to the pages defined in the test properties for “On: Passed” and “On: Failed / Cancelled”. In earlier versions of Lectora this action was also called “Process test”, not sure why they changed it. It may cause issues if you don’t have a page to go to that’s outside the test chapter.
If you want to use a custom results page I’d advise to have this page outside the test and make the test go to it. Through this you can make sure that the attempt in the test is fully completed. I’m not sure why you’re using a custom results variable. Latest when outside the test chapter you’ll be able to use Lectoras results variable, “Test_Score” in your example. This also allows to use conditions like, if “Test_Score” “is passed” that works even if you change the “Lowest passing score”. By the way: A “Lowest passing score” of 80 in a 4 question test is the same as 100%.
I agree with Adam about the “Reset Test” action on chapter level. No idea what it may be good for. But it should mean that the score is “0” again and all questions are reset when any page is opened. Of course it won’t reset your custom score variable but the results object would not work as expected (even if technically correct).
… a lot of text but I hope it helps.