Thursday, November 24, 2016

Những biện pháp giữ người tài cho công ty

Nhân viên giỏi thường không tìm kiếm các công ty trả lương hậu hĩnh. Thay vào đó, họ thường tìm kiếm công ty, nơi tạo ra việc làm ý nghĩa và thúc đẩy sự nghiệp thăng tiến. Một trong những lợi thế cạnh tranh giữa các công ty ngày nay đó chính là nguồn nhân lực sáng tạo, có tư duy phản biện, và dám nghĩ dám làm. Dưới đây là 6 chiến lược công ty có thể áp dụng để xây dựng lợi thế này:

1. Dùng việc thu hút nhân tài như là một cơ hội marketing

Quy trình tuyển dụng có thể là một công cụ xây dựng thương hiệu quan trọng nếu được quản lí chặt chẽ và hợp lý. Trong bảng tin đăng tuyển, hãy miêu tả chi tiết văn hóa công ty, sự kiện công ty, chính sách tiền thưởng. Cần phát triển mục tuyển dụng chuyên nghiệp trên trang web công ty nhằm gây hứng thú cho các ứng viên.

2. Tạo một văn hóa có sức hấp dẫn mạnh để giữ chân nhân tài

Không gì thu hút nhân tài đến với công ty bằng chính nhân tài giỏi của công ty đó. Những ứng viên xuất sắc luôn bị thu hút bởi những nhà lành đạo tài ba. Điều quan trọng là cần xây dựng đội ngũ nhân viên giỏi gắn liền với thương hiệu công ty. Ứng viên có thể ấn tượng với thương hiệu công ty, nhưng cuối cùng, họ cần được thu hút bởi những người tài giỏi mà họ sẽ làm việc chung.

3. “Quảng cáo” ưu điểm của công ty – một công cụ xây dựng thương hiệu

Công ty cần đưa ra những lí do để giúp nhân viên hiểu rõ tại sao nhân viên nên làm việc tại công ty. Đó có thể là môi trường làm việc với những cải tiến không ngừng, cơ hội đào tạo tốt, hoặc đơn giản là bầu không khí thân thiện, tinh thần hợp tác cao. Ngoài ra, văn hóa doanh nghiệp cũng rất quan trọng trong việc gìn giữ và phát huy nguồn nhân lực. Một môi trường làm việc minh bạch, rõ ràng cho hiệu quả làm việc cao. Nhưng để giữ người, cần phải xây dựng mối liên hệ đoàn kết, thân ái, vui vẻ phấn khởi trong Công ty, làm sao để mỗi người đều cảm thấy mình có liên hệ rất mật thiết, có vai trò không thể thiếu trong tập thể. Bên cạnh đó, tăng cường các hoạt động ngoại khóa, sinh hoạt tập thể để giúp nhân viên rèn luyện kỹ năng sống, và giúp phát hiện những yếu tố tài năng còn tiềm ẩn.

4. Cung cấp cơ hội phát triển – cách thức quản lí đầy hấp dẫn

Giúp nhân viên thấy vui vẻ là điều quan trọng. Ví dụ như nhân viên mong nhận được phản hồi và đánh giá kết quả đào tạo về khả năng làm việc của họ trong công việc thường ngày, hoặc những nhân viên giỏi muốn được thử thách và công nhận, hãy đảm bảo công ty có những thử thách dành cho các cấp quản lý, cơ hội học tập đặc biệt để giúp nhân viên phát triển sự nghiệp và hoàn thiện bản thân với những điểm như sau:
-          Tạo cơ hội thăng tiến và thể hiện bản thân.
Việc đề bạt, thăng chức phải được công khai rộng rãi trong toàn bộ doanh nghiệp. Các tiêu chí nên được mô tả một cách rõ ràng, chi tiết. Nhà quản lý nên tăng cường phân quyền nhiều hơn, giúp cho nhân viên được độc lập suy nghĩ và độc lập ra quyết định. Đây chính là nhu cầu tự khẳng định và được tôn trọng trong thuyết nhu cầu của Maslow.
-          Đào tạo
Điểm mạnh của những nhân viên giỏi là khả năng học hỏi không ngừng. Hiểu được điều này, các doanh nghiệp Việt Nam cần tổ chức các khóa đào tạo hàng năm, giúp nhân viên nâng cao kỹ năng, khả năng của mình. Với điều kiện tài chính còn hạn hẹp thì các doanh nghiệp vừa và nhỏ nên đào tạo tập trung, tổ chức các khóa đào tạo chuyên nghiệp, chất lượng, chứ không nên dàn trải.
-          Tăng thêm tính hấp dẫn cho công việc.
Chúng ta biết rằng khả năng lớn nhất của một nhân viên giỏi đó là sự sáng tạo.Tình trạng “ không có đất dụng võ”, không thể hiện hết kỹ năng, khả năng sẽ sớm giết chết những điểm mạnh của họ. Tất yếu họ phải ra đi. Do đó, các nhà quản lý nên giao cho những nhân viên giỏi các công việc mang tính mới mẻ, gia tăng tính thử thách trong công việc, giúp nhân viên vượt qua bản thân họ, giúp nhân viên tự tin hơn, yêu công việc hơn.
-          Khen thưởng.
Hiện nay, hầu hết các doạnh nghiệp đều thưởng vào các đợt lễ hội, đặc biệt là vào dịp cuối năm. Nhưng họ cần nhận thức được rằng, thưởng kịp thời là một hành động tích cực góp phần nâng cao thành tích nhân viên. Điều đó có nghĩa là các doanh nghiệp Việt Nam nên gắn liền phần thưởng với thành tích. Mỗi khi nhân viên nào có một đóng góp lớn cho tổ chức thì phải thưởng và tuyên dương ngay sau đó chứ không phải là chờ đến các dịp cuối năm, thưởng một cách đồng loạt ( như họ đang làm)

5. Đẩy mạnh cân bằng công việc – cuộc sống

Cho phép nhân viên làm việc tại nhà, dẫn con đến cơ quan vào một ngày làm việc, hoặc tổ chức những sự kiện giữa tuần sẽ tạo được sự cân bằng cuộc sống. Hỗ trợ nhân viên giữ được cân bằng cuộc sống và công việc sẽ giúp công ty giữ chân người tài.

6. Linh hoạt và gắn bó như gia đình

Vậy các công ty nên làm gì để nhân viên trẻ không nhảy sang công ty đối thủ? Chính sách gắn bó như gia đình như nghỉ thai sản, lịch làm việc linh động, nghỉ phép rất cần thiết. Ví dụ như công ty có thể cho phép làm việc tại nhà trong thời gian ngắn nếu nhân viên có việc gấp cần giải quyết, tổ chức khóa thiền, Yoga trong công ty để rèn luyện sức khỏe thân và tâm.

Nói tóm lại, để giữ được người tài cho công ty, không chỉ từ 6 yếu tố trên mà còn rất nhiều yếu tố khác cấu thành. Bên cạnh đó người CEO cần có những tư duy chiến lược hoàn toàn đúng đắn và chính xác về cơ chế nhân tài, nhạy cảm linh hoạt trong mọi hoàn cảnh để có thể giữ được người tài cho công ty.



Sunday, July 31, 2016

The Importance of Building Teamwork

These days, our work moves at a quick pace and organizations are continuously expanding, we’re quickly bringing on new clients, and team members come and go. This provides a unique opportunity to create relationships, but the importance of building them often gets ignored. As a technical resource, we are often so focused on getting the next build or test run that we don’t invest the time to build teamwork. But if we do, it can help us improve productivity, create friendships, and even benefit our lives outside of work. But why is it so important? 
1. Synergy is the combination of individual strengths, skills and expertise, and the ability for those to make up another team member’s weakness. Synergy is the spirit of teamwork. When you work alone, you may develop your independence, but you also risk overload, burnout, and not having the best skillset for the job.
2. Creating a good support network is also important in a team due to the varied working ability of each team member. Some people are known for cranking work, undistracted, while others are good for listening, understanding, or supporting others. A strong team needs to create an environment promotes a positive working environment and cooperative attitude for all staff members. It’s important for group members help each other, reply on each other and build trust within the group.
3. Sharing workload helps members in a team complete more, together. And working together with the same goal helps member improve quality of work. The more easily people on a team work together, the better the results are. Moreover, working with others to coordinate schedules, meet deadlines and make decisions will strengthen the team’s interactions.
4. Enhancing communication is also key to success of the team. We need to share what we feel and what we need, in order to communicate it clearly and effectively. During the course of a project, discussing ideas and collaborating developer your own skillset as well as those of team members. Not only that facilitate an open discussion but each member of the team will also be adequately informed.
A successful team depends on not only mental attitude of the whole team but also the leadership skills of the team leader. Dwight D. Eisenhower said that “Leadership is the art of getting someone else to do something you want to done because he wants to do it”.
Leaders help themselves and others do the right things by building a vision that solves complex problems, generates new ideas, coordinates individual activities towards a bigger goal, provide support to team members, gives people a sense of belonging, and helps people learn from each other. Leadership is also about mapping out where you need to go as a team; it makes working in a team more dynamic, exciting and inspiring.

When we combine a good leader with good teamwork, everyone benefits from a better working environment. Understanding the values of teamwork is critical to keep employees engaged, happy, and productive.

HoaLe





Saturday, July 9, 2016

Different opinions of James Bach in software testing

​On the occasion of STC Conference in July 2016 in which James Bach is a keynote speaker, the STC club has posted several introductions of James’ thoughts and teachings ideas in software testing. I am posting here additional James’ additional opinions and ideas on software testing that depart from the conventional thinking. read more

HoaLe

Wednesday, January 20, 2016

Celebrities have an important influence on young people’s characters

In today’s society, the development of technology such as television sets, magazine covers, internet blogs, facebook, linkedin, youtube, tabloids news makes us more connected to people. The devices also make young people plastered with images of these tacky celebrities which are scientifically proven to have influence their characters.


For me, a young person, I always find some celebrities having some interesting things to learn such as Jack Ma, DaiLai LaMa, Thich Nhat Hanh, Steve Jobs, Bill Gates who brings many things such as “Only the development of compassion and understanding for others can bring us the tranquility and happiness we all seek” Dalai LaMa. I think almost all young people are also finding a celebrity to be their idols to learn and motivate some aspects of their life such as actions, living philosophy, work, family, relationship with people, friendship, between people together of their.

However, I want to talk about spirit and ability of Dr.Richard who has given me a big motivation to compose the articles “7 keytraits to Master Novice Testers”. His enthusiasm has encouraged and inspired to me and many other people to feel the passion and willpower to learn and strive constantly all the time. Although he passed away, all his spirits are living forever.

Young people are more likely to listen and have action following celebrities than their parents. And it is important for parent to quell the negative influence that a celebrity can have on their children. Some of the influences come from media sources which trends to thrive on negative behavior of celebrities like some people who spiral out of control such as drugs, alcohol and all other actions will affect habits of young people who are always rapid learning and imitating, which does harm their mind which are making a negative difference in other lives.

Celebrities have an important influence on young people’s characters their attitudes and actions that make them to have positive thinking. Young people learns many ways of celebrities who have many good spirits and passion to motivate for young people.

HoaLe

Tuesday, January 12, 2016

Several Lessons Learned with Selenium

Today we have many choices of open-source software tools for automation testing such as Jmeter, OpenSTA, WebLoad and Selenium. Among these, Selenium offers an excellent set of best practices, and it is the tool worth investigating.

​Selenium is a web-based application testing software initially developed by Jason Huggins in 2004. It is an open-source software that works on all three major platforms – Windows, Mac and Linux. Selenium supports a wide range of languages, including Java, Python, Ruby, Perl, C#, PHP and others.

For a quick start with Selenium, we use Selenium IDE which has the Record and Playback tool to record and playback scripts. We use Selenium RC to write and run test scripts for testing web application UI’sSelenium WebDriver allows driving browsers locally or remotely as a userAnd, the other tool is Selenium Grid which provides a test execution mechanism for executing test cases on different machines.

Selenium has many advantages, including:
  • Simple and powerful testing of DOM (Document Object Model)
  • Supporting continuous integration, suitable for agile projects
  • Supporting multiple platforms and browsers
  • Allowing distributed testing through Selenium Grid
  • Able to integrate with other tools such as TestNG, Sikuli and AutoIt
There are a number of limitations of Selenium, however. One limitation is that it does not provide logs and other details on test results after executing test cases. Thus, it is difficult for us to debug test scripts. Another is that, we do not have any option to verify the location of images when needed. And it does not support automating non-web application elements such as windows for uploading, downloading and required authentication
When working with Selenium, I have faced a number of problems which I have resolved successfully. I am sharing below several lessons that I followed to overcome limitations of Selenium.

Lession 1: Integration Selenium with Sikuli to verify images

There are certain objects on web pages which may not be detected by Selenium such as those of Silverlight, Java Applets, canvas objects, JavaScript and jQuery. So it is hard to verify them in Selenium. To overcome this problem, we can use another open source tool called Sikuli and integrate it with the existing Selenium’s automation framework. Sikuli is a robust and powerful tool to automate and test graphical user interfaces (GUI). Sikuli scripts automate anything we see as a user on screens. The core part of Sikuli Script is written in Java, which means that we can use Sikuli Script as a standard JAVA library in the Seleminum framework.

  • Capture screenshots of objects.
  • Create a folder for storing screenshots and place screenshots in this folder


  • Write testing scripts by importing classes from Sikuli libraries org.sikuli.script.*

           Import org.openqa.Selenium.WebDriver;
           Import org.openqa.Selenium.firefox.FirefoxDriver;
           Import org.sikuli.script.*;

           public class sikuliTest {

              @Test
              public void Test1 throws FindFailed {

              // Create a new instance of the Firefox driver
              WebDriver driver = new FirefoxDriver();

              // Navigate to the website http://www.google.com.vn
              driver.get("http://www.google.com.vn");

              //Create and initialize an instance of Screen object   
              Screen screen = new Screen();

             //Declare image path  
              Pattern image = new Pattern("images\GoogleLogo.png");

            //Wait 10ms for Logo is displayed
            screen.wait(image, 10);

            //Verify the Logo is displayed
            screen.find(image);
  }
}
How the script works. First it will navigate to Google website and recognizes the Logo matching with the image in the image folder as below
The second lesson: Handle some windows popup


Web applications may have features showing popup windows such as file-upload and authentication windows. Unfortunately, Selenium does not have the capability to handle window popup. To overcome this limitation, we can integrate Sikuli or AutoIt tools with Selenium.



Handle some windows popup with Sikuli

  • We can use Sikuli to handle some windows popup like file download popup. Here is an example use Sikuli and Selenium to go to the page http://docs.Seleniumhq.org/download/and download Selenium Server on Firefox. The problem is Selenium cannot handle download popup as below


The script above navigates to http://docs.Seleniumhq.org/download, then browses link “2.44.0”, and finds the area that matches the “Save File” image to click on it.

However, Sikuli script does not work when the computer screen is locked off because Sikuli is fully based on image recognition on the screen, so it cannot recognize any image on the locked screen.



Handling window popup with AutoIt


AutoIt is a freeware with BASIC-like scripting language designed for automating Windows GUI applications. It uses a combination of simulated keystrokes, mouse movements and window/control manipulations in simulating user’s actions.


Below are steps taken to handle the following popup window by using AutoIt and Selenium. 



  • Using “SciTE Script Editor” to write an AutoIt script and save it into AutoIt file “Authentication_example.au3” (. Below is the script in the file:

                WinWaitActive("Authentication Required")
                Send("Username")
                Send("{TAB}")
                Send("Password")
                Send("{ENTER}")

  • Right-click on the file “Authentication_example.au3” and click “Compile Script” to compile this file into an executable file “Authentication_example.exe”.

Lesson 3: Managing test suites, test scripts and test objects

Selenium does not provide detailed results and logs, and it does not offer capabilities to manage test suites, test scripts and test objects either. We can overcome this limitation by integrating Selenium with Robot framework (RIDE). RIDE supports keyword driven testing and it provides Excel sheet table with high level language for scripting. RIDE allows us to write and understand test scripts easier. It also provides capabilities to manage test scripts, analyze test results and logs easily.

To integrate Selenium with RIDE, do the following steps

  • Install JDK
  • Install Python
  • Install robot framework
  • Add selenium2libray to robot framework.
  • Install robot framework IDE
Excel sheet and high level language are shown as follows
Keyword-driven 

Details log:


Details report:
In summary, Selenium is a powerful tool for web automation. And importantly, it is free. As it supports multiple languages, thus, you can use the language that you are most comfortable with. Selenium has an active support community which provides extensions and useful help when needed. However, it has a number of limitations. I hope this post is useful to overcome some of some of the limitations you face with Selenium. 

HoaLe