Monday, December 31, 2018

Review: Exploratory vs Manual Testing

@fwmoyer states the difference between Exploratory Testing and Manual Testing is a mindset. And I agree with him. Here's a quick article on explaining why.

https://www.softwaretestinghelp.com/exploratory-testing-vs-scripted-testing/

Overall, context is always valuable when driving something purposeful. In order to reach quality results (i.e. results that matter and add value), context is required especially to help to create productive roadmaps whether designing, developing, and/or testing.

Review: Jamboard (by Google)

I don't know why I'm just now hearing and learning about Google's Jamboard, but I am glad to hear about it now than later.

One of the benefits of this product is its mobility. You can do a lot with this tool like with a smartboard, but you can move it around. Here's an example of why being "mobile" is superb. What if I'm innovating well at work but for some reason I get laid off? Well, I can take my Jamboard and ideas with me. That's it. Well, and continue my career. :D

One of the biggest disadvantages in growing ones career is having to start over. In today's world where there are many smart people making many smart moves, a person needs to have smart tools that move with them as well. So, this is my pitch for this tool by Google: Jamboard.

Check it out.
https://www.youtube.com/watch?v=gXwV5SlKLAE (intro to Jamboard)
https://www.youtube.com/watch?v=hVZPh8Zz8lw (intro to Jamboard in 'Google for Eduction')

Sunday, December 30, 2018

Review: Traditional Developer vs Cloud Developer

Another interesting article.
https://blog.bluesoftglobal.com/cloud-developer/

I need to do more research on the argument made in this article about the need to become a Cloud Developer. There will just be too much technology to learn if we keep thinking that a techie needs to learn stack development, deployment, tech support, translation of business domain knowledge into technical feasibility, and more.

Teams will continue to grow and not with an all-in-one talented techie. Developers will continue to need to specialize, in my opinion. But, if the cloud handles all the deployment and support issues, then maybe a developer can just focus on - developing?

Friday, December 28, 2018

Review: 10 Critical Tips to Learn Programming Faster

Today's article, I'm focusing on something practical and essential for all people working with technology: 10 Critical Tips to Learn Programming Faster

I like what the author does here and her explanation is straight to the point. But, if you want to know some of the practical challenges accompanying each tip, then here's what I'll add (based on my experience).

1. Start With the Basics and Spend More Time There


  • This is fundamental to learning any skill. So, don't learn just because you feel like it or it sounds cool, but learn with purpose; learn with the intent to master the skill.
  • This takes time, lots of time! So, start early as possible.
  • These basics can become boring if you're learning by yourself (like playing any sport by yourself). So, learn with friends and enjoy the course(s).

2. Coding by Hand is Highly Recommended


  • This is a great tip for interviewing, but is practically useless. With so many programming languages to choose from and so many companies using multiple languages to suit their product development, practicing in one language might not be helpful with understanding and using another language. However, practice coding in a way to understand the programming language. Pick a few languages like industry standards such as Java, JavaScript, and SQL. Pick languages that a full stack developer would require.
  • Know how to write pseudocode. With the computing industry changing quicker than ever before, it's important to switch between programming languages and still carry the function definitions and application structure over. 
  • In addition, other people should be able to read and easily understand your code.

3. Fiddle Around With the Codes


  • Don't just fiddle, but start exercising your creativity and figure out how to update the code. This is also called "refactoring". Learning to made code updates is a lifelong skill since most programmers must work on teams which means eventually you'll need to update someone's code - including your own.

4. Reach Out to Others for Guidance


  • Make mentors that are tech gurus. It's difficult to find tech gurus, but not if you get involved in open source project like in Apache Software Foundation.
  • Take advantage of online mentors (that you may never meet).
  • Take advantage of community forums online like Reddit and StackOverflow.

5. Take Breaks to Get Refreshed


  • This is not a critical programming tip, but a good tip for every hard worker out there.
  • This is much easier said if you don't have any social responsibilities.
  • I guess the gist here is to do what you need to do to work smarter and healthier.

6. Use Online Resources


  • I thought I would see some reference here to StackOverflow or useful sites where programmers learn to "debug" and "troubleshoot", but I didn't. Thus, make sure you bookmark sites that help you not only learn to code, but learn to decode/encode (so to speak). :)
  • There are hundreds of online tutorials. So, go through some sites, pick your top few, and be sure to add YouTube to that list. There are great channels on YouTube offering free tutorials and resources. Also, tech giants offering tutorials use YouTube. Note: I haven't seen many tutorials on Vimeo (or any other online video library site).

7. Read Relevant Material


  • What's funny to me about this tip is that the statement with  the "majority of real-life situations...the client's team will possess complete knowledge of their business". From my experience, this is not really true. As a software developer, or aspiring software developer, you'll learn that the business experts eventually become outdated (due to lack of vision and improving current processes rather than focusing on disrupting processes for greater ROI) or they become dreamers (and provide unrealistic visions and predictions).
  • Before becoming an expert in a business domain, you'll need to ask yourself about the direction that you want to take your work. Do you want to start your own business one day or invent something? Or, do you want to become a tech guru within the company or industry you're in? After you choose the question to answer (and you can't choose both), then you will learn to understand how to code in ways that will take you to your career destination.

8. Learn From the Bugs


  • This is another tip which I find interesting to lack the advice on specifically leveraging online community forums. One particulary online forum that is picking up attention is GitHub. So much code is not being stored in GitHub that one can pick up lots of knowledge on how to create by leverage.
  • Again, leverage sites like StackOverflow for debugging.
  • Understand the limit of tools used for debugging as well.
  • Better yet, learn to write tests (e.g. unit tests, end-to-end tests) before you write your program and then you'll pick up a better habit than debugging.

9. Never Get Tired of Practicing


  • Practice with other like-minded coders.
  • Practice to innovate, not just to improve - because you'll never reach perfection.
  • Problems are neverending, and you'll need to discover how to become quicker at finding or creating solutions. This takes practice, too, and can be practiced outside of coding like with puzzles, understanding economic impact on local developments, studying psychology and quizzing behaviors, and learning different parts of society by volunteering and traveling.

10. Keep Your Cool


  • I actually thought this tip would address the politics in a workplace. Every developer not only needs to know how to "play with others", know how to code according to customer satisfaction, know businees needs and where the development team fits in, but also how to challenge bad ideas without offending people as well as add value to an organization's mission.
  • Never think your work life is about your life; it's about work. Never bring "work" to your life. Bring "life" to your work.


Good luck, newbie!

Thursday, December 27, 2018

Gartners Top 10 Tech Trends 2019

Here's a good article to read for any person who works.
https://sdtimes.com/softwaredev/gartners-top-10-technology-trends-for-2019/

Reference on Test Tools of 2018

As we come to close the year 2018, here are a few articles on the test tools shaping the industry (tech and all others) and that will continue to add value into 2019.

Notice that one of the rising stars is TestIM.io. Keep an eye on this company, its tool(s), and its service(s).

Software Testing Help - Top 20 automation testing tools (Dec 2018)


Actually, this is the only article I found online that was recent (aka relevant) and didn't seem to have a bias toward any tools (i.e. promoting commercial over open source, etc).

More importantly, let's keep an eye on the AI automated tools. Just like robots are replacing people in factories, AI will replace the mundane programming jobs. Therefore, humans will need to learn how to establish more roles in the R&D industry (which ironically was almost wiped out by corporations in the early 2000s due to foolish business cuts).

Monday, December 17, 2018

Examining Value of Tests

Some valuable points made in this article. One thing I see missing is the accountability for those who collect user requirements and delivers requirements to the Development Team for implementation. Sometimes, the issue isn't as much as the development as it is the requirement(s) and product design. These metrics should also be collected (as defects in requirements) instead of counted towards bugs or issues in development.

https://blog.testproject.io/2018/12/04/how-do-i-know-my-tests-add-value/

Thursday, December 13, 2018

Intro to a Coding Mindset

From the article:
"We want to propose that beginner coders could start with an attractive and engaging activity, but should also explicitly develop what could be called "the coding mindset."
This mindset represents a gradual development of  programming knowledge and strategies, but also includes analyzing systems, solving problems, persisting in front of errors, being resourceful and collaborating.
To teach the coding mindset, educators need to include more explicit foundational  concepts and competencies, such as creating algorithms to solve problems, debugging existing programs, and designing systems to accomplish new tasks or gather data.
Learning to code should not be intimidating. But it should fulfil promises, not simply hype mythic dreams."
https://phys.org/news/2018-12-code-movement.html

Tuesday, December 4, 2018

JayWay - JsonPath

Today I read a couple articles from TestProject and found this new library quite interesting (when a Maven project uses this library).
https://github.com/json-path/JsonPath

This library helps to format the structure of a JSON file/response.