Author Archives: justcodeit94

Reflection (Week 2)

Week 2 was rather very interesting, because I was exposed to new technologies, applications and languages. My team and I created a slack channel where we will be communicating with each other for the duration of the OpenMRS project. Along with creating a slack channel to communicate, we also created a Trello board, where we tackled on our very first sprint in order to get the project rolling. One of the tasks on our board, was to create a user login to the OpenMRS website and to introduce ourselves in the community forum page. As previously stated in my week 1 reflection post, we are working with Angular 2, and with that I had to download an application that was foreign to me called WebStorm to write our code in. I’ve never used it before, but i’m looking forward to learning how to use it.

From the blog CS@Worcester – My Blog by justcodeit94 and used with permission of the author. All other rights reserved by the author.

The Clean Coder (Week 1)

This was my first time reading this book, and so far, i’ve throughly enjoyed it. Prior to reading the book, I took a stab at what kind of book this would be. Based on the title, i figured that the book will touch base on the qualities of being a person who appreciates their craft. After reading the first two chapters, this book does just that. It explains in details of how one should go about on being professional. One of my favorite lines from the book is on continuous learning.

Would you visit a doctor who did not keep current with medical journals? Would you hire a tax lawyer who did not keep current with the tax laws and precedents? Why should employers hire developers who don’t keep current?

I found this quote to be quite thought-provoking, because i’m a believer that learning is never done. Learning is a life long process and that I too, would hope my doctor would be up to date with his medical journals, and if I have a tax lawyer, that he/she would keep current with the tax laws and precedents. The same thing goes for software developers. The industry is currently changing and concepts that you may have grasped and think you know well, might not be relevant in future frameworks. For example, after doing a little reading about AngularJS two, a javascript framework, migrating from AngularJS one to the newer version won’t be a walk in the park. Things that will work in AngularJS one won’t work in the newer version.

The second chapter touches base with the idea of saying “no” in the workforce. When you are first starting out, you want to excel and meet every expectations and demands that are laid out by your boss. You do so by doing your work to the best of your ability, but when you are given a project with a lot of features to include and you know that father time is not on your side, it’s hard to say no. You end up saying “yes” just to keep everyone happy. By everyone, you mean everyone, but you. This then could result in you being burnt out and have completed it(but did a crappy job), or more commonly, you’re boss and the customer isn’t very happy because you promised x, y and z, but could only deliver x. It’s important to say no, because it could prevent all of the headaches and unwanted meetings with angry customers wondering why something isn’t finished.

 

From the blog CS@Worcester – My Blog by justcodeit94 and used with permission of the author. All other rights reserved by the author.

Reflection (Week 1)

All throughout the Fall semester I’ve been mentally prepping myself up for this moment. Now that the time has come, I’m filled with a plethora of mixed emotions (mostly excited). As a Computer Science student, I’m required to take a software development capstone class, AKA CS-448.

Week one has officially ended and i’m very excited to see how the rest of the semester will play out. On the first day of class, we were put into a SCRUM team for an activity where each person on the team had a job. The job consisted of 2 customers, 4 developers, and one monitor. Prior to this activity, I had no idea about SCRUM and its significance, but after the activity, I had a better understanding of this type of framework. After the quick and fun intro to Scrum, we were then placed into teams of 6 where we will be working on features for the OpenMRS project but specifically the AMPATH section.

OpenMRS is the leading open source enterprise electronic medical record system platform. Initially, the community that consisted of volunteers from many different backgrounds started out to fix a database system in a single clinic in Kenya. Over the years, the community of the OpenMRS grew exponentially, ergo allowing this software to expand to other clinics.

If you want to read more about this, heres the link:

Read More

 

From the blog CS@Worcester – My Blog by justcodeit94 and used with permission of the author. All other rights reserved by the author.

CS 448 Intro

Hello,

For those of you who don’t know me, my name is Hung Huynh.

I look forward to this class.

Thanks,

Hung

 

From the blog CS@Worcester – My Blog by justcodeit94 and used with permission of the author. All other rights reserved by the author.

Bash Scripts

After reading many articles this week, I found one that poked my interest. It was an article about bash scripts. It was quite interesting because it was a tutorial on how you can use a bash script that will allow you to find all of the files that uses a particular method.

Karlo Smid shows us how you do it.

screen-shot-2016-12-14-at-11-28-00-am

 

screen-shot-2016-12-14-at-11-28-41-am

How it works

  • Reads item from the txt.file
  • Each row value is searched using grep utility
  • Recursive search in all folders
  • Outputs files that contains those searched items

Bash scripting is very useful because you can just tell the computer what to do automatically when you run it rather than having to do everything manually. When you run the script that you want, it improves time and also efficiency because it can do what you’re trying to do very quickly.

Read More

From the blog CS@Worcester – My Blog by justcodeit94 and used with permission of the author. All other rights reserved by the author.

Code Review

I cannot stress how important it is to double check your work. During my last Software Quality Assurance and Testing class, we had the pleasure of doing a code review exercise. The tasks were to review code from a well known game called Sir Tommy Solitaire. It was a group exercise, but the day before class we were given the assignment to review the code and to try and find any faults within the program.

At first, I didn’t even look at the code, I just wanted to see how the program ran. By doing this, I had a glimpse about the coder and if he/she thought about user experience. I tried to type in random things just to see how the program would handle my inputs. After that I would make a note of what I thought wasn’t right and did the same when I looked at the code.

This in class experience was very insightful, because it shows you how to collaborate as team and shows you the importance of writing elegant, clean and efficient code. If you wrote a program and it works, but you did not document it at all, the program won’t be very good, because no one will know what your methods do, or why you have a certain class or named a variable the way you did, because there is no documentation. Documentation is very imperative in the programming realm, because there are different styles of code, and documenting things makes it easier for other developers to know what you are doing.

From the blog CS@Worcester – My Blog by justcodeit94 and used with permission of the author. All other rights reserved by the author.

Should We Value UI Automation Tests?

Karlo Smid wrote an interesting piece on the value of UI automation testing.

Lets begin by defining what UI automation testing is. According to Microsoft,

Automated tests that drive your application through its user interface (UI) are known as coded UI tests (CUITs). These tests include functional testing of the UI controls. They let you verify that the whole application, including its user interface, is functioning correctly. Coded UI Tests are particularly useful where there is validation or other logic in the user interface, for example in a web page. They are also frequently used to automate an existing manual test.

So what are the values of UI Automation Tests?

  • They represent executable documentation for your product.
  • Assist in answering questions about complicated business scenarios.

Requirements for Good UI Testing?

  • Language that enables you to write less code.
    • Example: Ruby
  • Page object pattern implementation
  • The use of Jenkins which is an integration tool
  • The use of rspec for the testing framework
  • Smart regression testing

From the blog CS@Worcester – My Blog by justcodeit94 and used with permission of the author. All other rights reserved by the author.

How To Improve Your Writing Skills as a Software Tester

While looking through my reader feed, I found many interesting articles, but this one stuck out to me the most. The reason to this is due to the fact that I’m a firm believer of strong writing skills especially in the field of computer science.

In a very informative article written by Renuka Kant, touches on how to improve your writing skills as a software tester. In this article, the author listed out 9 ways to improve your writing skills.

Lets begin

  1. What is the purpose on what you are writing
  2. Be aware of your audience
  3. Read
  4. Formatting your work
  5. Keep it simple
  6. Know when to use an active or passive voice in your writing
  7. Make sure you check grammar
  8. Review and edit
  9. PRACTICE

 

From the blog CS@Worcester – My Blog by justcodeit94 and used with permission of the author. All other rights reserved by the author.

DevOps Transformed Software Testing

What is DevOps?

According to Moin Syed Principal Consultant, Advisory & Transformation Services at Cigniti Inc. states that

DevOps is a culture that enables seamless coordination among the different stakeholders in the software chain. DevOps brings together the two critical silos of software process namely, development & operations to integrate within the same software cycle.

DevOps drives all the IT stakeholders to collaborate to deliver value faster. For this it collates the practices of continuous integration, continuous testing, continuous deployment and continuous monitoring.

Testing is imperative for the successful outcome of DevOps. These testers recommends that testing should be done early and constantly

Tips for successful DevOps Testing

1.) Involve development team during test design.

2.) Identify the critical test cases and prepare the test suite to test the functionality of the required build.

3.) Keep the test execution cycles short and quick.

4.) Implement code analysis and coverage tools to ensure 100% code coverage.

5.) Encourage parallel execution of tests to help reduce time for go live which is the heart of a successful DevOps implementation.

In conclusion, DevOps brings together developers and operations so that they can work together on becoming successful. Before, the goal of developers was to create new features for lets say a web page. The operations crew frowns upon this, because their job is to keep the site up and running. In order to add new features, the site must be taken down in order to add those new features to the web page.

Read more

From the blog CS@Worcester – My Blog by justcodeit94 and used with permission of the author. All other rights reserved by the author.

Convert testing data into valuable project information.

Joel Montvelisky wrote an interesting piece on the art of transforming testing data into project information. In his article he showed different examples of test execution reports and explained why report B was better than report A. He noted that when you work with people outside of your testing team, you must also think like them, understand the information they need and how to to display it in a way that they will grasp the content faster and better. 

Here are some examples of test execution reports:

Team A’s Report:
Total Tests in Cycle: 376 
Passed Tests: 301
Failed Tests: 28 

Tests not Run: 57

Team B’s Report:
Tests in Cycle: 376
Execution percentage: 87.5%
Passed percentage: 80%

Which report is better?

While both reports are providing the same data, report B supplies the readers with better information. The advantage that report B has on report A is that it shows the percentages in their report. This is an advantage because people don’t like doing math equations in their heads, when they can just read it like in Team B’s report.  The less people need to think, the more brilliant your report will appear to the intended audience.

Key tips for test execution reports

  • Show data in percentages or rates
  • Use graphs
  • Don’t pollute the report with useless data
  • Anticipate questions
  • Report should speak for itself. Less explanations = good report.

Read More

 

From the blog CS@Worcester – My Blog by justcodeit94 and used with permission of the author. All other rights reserved by the author.