Journal 77: Testing IS Documentation
This journal's required reflection is to list the five most important things I learned in this course, (Java II, CST-438 Spring Boot Framework with React/Software Engineering at CSUMB) and why I chose them:
Trunk based development in conjunction with Agile development is a correct paradigm, or at least a broadly applicable one.
The reason is that I have discovered this on my own, in independent projects, and class material has reinforced this as being the paradigm in use by Google, and the paradigm Google engineers belive is most widely applicable.
Spring Boot Framework with Java, MySQL and React using RabbitMQ for a service manager is quick, easy and a robust methodology to develop with.
What we built has user authorization, a rich front end with easy build-ability, a MySQL connection with lots of database functionality automated for us because of the framework, and a back end built in Java with Eclipse which is pretty speedy because of all the auto-fill and problem checking Eclipse does. We built a system that is small and coherent, easy to understand, and something we could easily adapt into a different or more complex system. It has good responsiveness and performance because the services are separate from each other and the backend runs on compiled java bytecode class files. MySQL is a fast database when designed properly, and interfacing with it is partly automated for developer convenience with Spring Boot Framework. React is quick to learn and understand and easy to build extensible things with different components and lots of functionality.
Pivotal Tracker is a great place to start with in the project management software department. My reasons are that the tool is free, easy to use, clear, and super helpful. You can drag-n-drop features, add descriptions, get approval, lots of stuff you would want when managing progress of a project.
React is an easy-to-build-with front-end paradigm. I'm not necessarily sure I completely agree with the paradigm of putting the HTML inside the JavaScript, since JavaScript has JSON which has less characters to do the same thing and fits within the JavaScript paradigm more naturally, but my experience with using React was extremely positive. I could understand it and build onto it and it seems like it has a tiny learning curve. Prospective employers seem to commonly use React and there seem to be lots of reasons for it, probably one of them is that it is becoming ubiquitous. That it's not particularly difficult to learn and highly effective to use is inspiring and encouraging.
RabbitMQ is an easy to use message queue service! I've never used a message service before, but I'd heard of RabbitMQ, and I see why it is so great now. It manages the requests between your services as a middle-point you can monitor separately. Messaging separates services for less interdependent dependencies to make the whole system more efficient. Alternatives are COMET or just Ajax and not managing your requests at all. Adding a message queue service in between the layers really seems like a great idea overall to increase efficiency as well as increase the ability to monitor what is happening.
Postman is a real easy and super powerful request-tester. Instead of building a front-end, at all, you can just use Postman to send requests to the back end of whatever you're building to make sure you're progressing with how the back end works. And if the front end is broken, or you just need to verify the back end functionality, postman keeps all the requests you've used in a hierarchical list so you can find them later and try various requests you've used in the past.
And this class teaches something I didn't realize until now: testing IS documentation. Long term tests act as a vessel for our programs, verifying and validating their functionality into the future, showing their use while testing their functionality as features are added. Without long-term functioning tests, broken features could be buried, not discovered as broken until the problem is compounded.
Comments
Post a Comment